gitextract_meqeqabv/ ├── .bazelignore ├── .bazelrc ├── .bazelversion ├── .cursorrules ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── documentation.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── README.md │ ├── bzl-changes.yml │ ├── comment-test-results.yml │ ├── pr-size-labeler.yml │ ├── publish-npm.yml │ ├── release-test.yml │ ├── test-cli-linux.yml │ └── welcome.yml ├── .gitignore ├── .prettierrc.json ├── AGENTS.md ├── BUILD.bazel ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── MODULE.bazel ├── README.md ├── SECURITY.md ├── WORKSPACE ├── WORKSPACE.bzlmod ├── ai-skills/ │ ├── CONTRIBUTING_SKILLS.md │ ├── registry.json │ └── skills/ │ ├── valdi-android/ │ │ └── skill.md │ ├── valdi-async/ │ │ ├── skill.md │ │ └── tests/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── src/ │ │ │ └── reference.tsx │ │ └── tsconfig.json │ ├── valdi-bazel/ │ │ └── skill.md │ ├── valdi-compiler/ │ │ └── skill.md │ ├── valdi-component-tests/ │ │ ├── skill.md │ │ └── tests/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── src/ │ │ │ └── ProfileCard.tsx │ │ ├── test/ │ │ │ └── ProfileCardTest.spec.tsx │ │ └── tsconfig.json │ ├── valdi-cpp-runtime/ │ │ └── skill.md │ ├── valdi-custom-view/ │ │ └── skill.md │ ├── valdi-ios/ │ │ └── skill.md │ ├── valdi-migrate/ │ │ ├── skill.md │ │ └── tests/ │ │ ├── .gitignore │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── check_antipatterns.py │ │ ├── compose_example.kt │ │ ├── flutter_example.dart │ │ ├── react_example.tsx │ │ ├── src/ │ │ │ └── expected_valdi.tsx │ │ └── tsconfig.json │ ├── valdi-overview/ │ │ └── skill.md │ ├── valdi-perf/ │ │ ├── skill.md │ │ └── tests/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── src/ │ │ │ └── reference.tsx │ │ └── tsconfig.json │ ├── valdi-polyglot-module/ │ │ └── skill.md │ ├── valdi-setup/ │ │ └── skill.md │ ├── valdi-testing/ │ │ └── skill.md │ └── valdi-tsx/ │ ├── skill.md │ └── tests/ │ ├── BUILD.bazel │ ├── README.md │ ├── src/ │ │ └── reference.tsx │ └── tsconfig.json ├── apps/ │ ├── .prettierrc.json │ ├── benchmark/ │ │ ├── BUILD.bazel │ │ ├── app_assets/ │ │ │ ├── android/ │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ └── themes.xml │ │ │ └── ios/ │ │ │ └── Icons.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── src/ │ │ ├── android/ │ │ │ ├── BUILD.bazel │ │ │ └── MyNativeModuleFactory.kt │ │ ├── cpp/ │ │ │ ├── BUILD.bazel │ │ │ └── CppModule.cpp │ │ ├── ios/ │ │ │ ├── BUILD.bazel │ │ │ └── SCMyNativeModuleFactory.m │ │ └── valdi/ │ │ └── benchmark/ │ │ ├── BUILD.bazel │ │ ├── src/ │ │ │ ├── BenchmarkApp.tsx │ │ │ ├── BenchmarkSingleRunComponent.tsx │ │ │ ├── DrawFrameBenchmark.tsx │ │ │ ├── MarshallingTest.tsx │ │ │ ├── MicroBenchTest.tsx │ │ │ ├── NativeHelper.d.ts │ │ │ ├── ProtoImportTest.tsx │ │ │ ├── RenderTest.tsx │ │ │ ├── complex_test.proto │ │ │ ├── cpp.d.ts │ │ │ ├── main.tsx │ │ │ ├── microbench.js │ │ │ ├── proto.protodecl │ │ │ └── proto_noidx.protodecl │ │ └── tsconfig.json │ ├── cli_example/ │ │ ├── BUILD.bazel │ │ └── index.tsx │ ├── helloworld/ │ │ ├── .eslintrc.js │ │ ├── BUILD.bazel │ │ ├── app_assets/ │ │ │ ├── android/ │ │ │ │ └── values/ │ │ │ │ ├── colors.xml │ │ │ │ └── themes.xml │ │ │ └── ios/ │ │ │ └── Icons.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── package.json │ │ ├── src/ │ │ │ ├── android/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── MyNativeModuleFactory.kt │ │ │ ├── cpp/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── CppModule.cpp │ │ │ │ └── DesktopMyNativeModule.cpp │ │ │ ├── ios/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── SCMyNativeModuleFactory.m │ │ │ └── valdi/ │ │ │ ├── .terserrc.json │ │ │ ├── _configs/ │ │ │ │ ├── base.tsconfig.json │ │ │ │ └── eslint.tsconfig.json │ │ │ ├── hello_world/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── src/ │ │ │ │ │ ├── CppModule.d.ts │ │ │ │ │ ├── GettingStartedCodelab.tsx │ │ │ │ │ ├── HelloWorldApp.tsx │ │ │ │ │ ├── NativeModule.d.ts │ │ │ │ │ └── index.ts │ │ │ │ └── tsconfig.json │ │ │ └── tsconfig.json │ │ └── standalone_app/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── android/ │ │ │ └── Main.kt │ │ └── androidTest/ │ │ ├── AndroidManifest.xml │ │ └── LaunchTest.kt │ ├── managed_context_example/ │ │ ├── BUILD.bazel │ │ └── ManagedContextExample.tsx │ ├── navigation_example/ │ │ ├── BUILD.bazel │ │ ├── NavigationExample.tsx │ │ └── tsconfig.json │ └── valdi_gpt/ │ ├── .eslintrc.js │ ├── BUILD.bazel │ ├── package.json │ ├── src/ │ │ └── valdi/ │ │ ├── .terserrc.json │ │ ├── _configs/ │ │ │ ├── base.tsconfig.json │ │ │ └── eslint.tsconfig.json │ │ ├── ai_service/ │ │ │ ├── BUILD.bazel │ │ │ ├── src/ │ │ │ │ ├── AiService.ts │ │ │ │ └── OpenAi.ts │ │ │ └── tsconfig.json │ │ ├── conversation/ │ │ │ ├── BUILD.bazel │ │ │ ├── src/ │ │ │ │ ├── Conversation.tsx │ │ │ │ ├── InputBar.tsx │ │ │ │ ├── Message.tsx │ │ │ │ └── index.ts │ │ │ ├── test/ │ │ │ │ └── Conversation.spec.tsx │ │ │ └── tsconfig.json │ │ ├── tsconfig.json │ │ └── valdi_gpt/ │ │ ├── BUILD.bazel │ │ ├── src/ │ │ │ ├── ValdiGptApp.tsx │ │ │ └── types/ │ │ │ ├── Long.d.ts │ │ │ └── globals.d.ts │ │ └── tsconfig.json │ └── web_demo/ │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── App.js │ │ ├── App.scss │ │ ├── RegisterNativeModules.js │ │ ├── index.html │ │ └── index.js │ └── webpack.config.js ├── bin/ │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── WORKSPACE │ ├── compiler/ │ │ ├── linux/ │ │ │ └── valdi_compiler │ │ └── macos/ │ │ └── valdi_compiler │ └── pngquant/ │ ├── linux/ │ │ └── pngquant │ └── macos/ │ └── pngquant ├── bzl/ │ ├── BUILD.bazel │ ├── additional_dependencies.bzl │ ├── android/ │ │ ├── BUILD.bazel │ │ ├── collect_android_assets.bzl │ │ ├── filter_jar.bzl │ │ ├── package_aar.bzl │ │ ├── platform_transition.bzl │ │ └── zip_relative.sh │ ├── asset_package.bzl │ ├── client_objc_library.bzl │ ├── common/ │ │ ├── BUILD.bazel │ │ ├── application_names.bzl │ │ └── nodejs_info.bzl │ ├── conditions/ │ │ ├── BUILD.bazel │ │ ├── custom_selects.bzl │ │ └── selects.bzl │ ├── constants/ │ │ └── BUILD.bazel │ ├── dependencies.bzl │ ├── expand_template.bzl │ ├── ide/ │ │ └── open_source.bazelproject │ ├── macros/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── android.bzl │ ├── modulemap.bzl │ ├── nested_repository.bzl │ ├── platforms/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ ├── conditions/ │ │ │ └── BUILD.bazel │ │ ├── flavors/ │ │ │ └── BUILD.bazel │ │ ├── os/ │ │ │ └── BUILD.bazel │ │ └── toggles/ │ │ └── BUILD.bazel │ ├── prebuilt_tools.bzl │ ├── runtime_flags/ │ │ └── BUILD.bazel │ ├── toolchains/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ └── WORKSPACE │ ├── valdi/ │ │ ├── AndroidManifest.xml.tpl │ │ ├── BUILD.bazel │ │ ├── Empty.bundle/ │ │ │ └── Info.plist │ │ ├── Info.plist │ │ ├── app_templates/ │ │ │ ├── AndroidDebugAppManifest.xml.tpl │ │ │ ├── AndroidLibManifest.xml │ │ │ ├── AndroidReleaseAppManifest.xml.tpl │ │ │ ├── BUILD.bazel │ │ │ ├── Info.plist.tpl │ │ │ ├── StartActivity.kt.tpl │ │ │ ├── cli_main.cpp.tpl │ │ │ ├── ios_main.m.tpl │ │ │ └── macos_main.m.tpl │ │ ├── common.bzl │ │ ├── empty.c │ │ ├── empty.js │ │ ├── empty.kt │ │ ├── empty.swift │ │ ├── extract_cpp_srcs.bzl │ │ ├── extract_objc_srcs.bzl │ │ ├── extract_swift_srcs.bzl │ │ ├── generate_android_manifest.bzl │ │ ├── localizable_strings.bzl │ │ ├── npm/ │ │ │ ├── BUILD.bazel │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ ├── pnpm-workspace.yaml │ │ │ └── repositories.bzl │ │ ├── package.json.tmpl │ │ ├── rewrite_hdrs.bzl │ │ ├── snap_macros/ │ │ │ ├── BUILD.bazel │ │ │ ├── MODULE.bazel │ │ │ ├── WORKSPACE │ │ │ ├── internal/ │ │ │ │ └── sourcegen/ │ │ │ │ └── valdi_context_factory.bzl │ │ │ └── library/ │ │ │ └── snap_client_ios_library.bzl │ │ ├── source_set/ │ │ │ ├── BUILD.bazel │ │ │ ├── source_set.bzl │ │ │ └── utils.bzl │ │ ├── suffixed_deps.bzl │ │ ├── toolchains.bzl │ │ ├── tsconfig.json │ │ ├── valdi_android_application.bzl │ │ ├── valdi_android_library.bzl │ │ ├── valdi_application.bzl │ │ ├── valdi_cli_application.bzl │ │ ├── valdi_collapse_web_paths.bzl │ │ ├── valdi_compiled.bzl │ │ ├── valdi_config.yaml.tpl │ │ ├── valdi_exported_library.bzl │ │ ├── valdi_extract_output_rule_helper.bzl │ │ ├── valdi_ios_application.bzl │ │ ├── valdi_macos_application.bzl │ │ ├── valdi_module.bzl │ │ ├── valdi_module_android_common.bzl │ │ ├── valdi_module_info_extractor.bzl │ │ ├── valdi_module_native.bzl │ │ ├── valdi_paths.bzl │ │ ├── valdi_projectsync.bzl │ │ ├── valdi_protodecl_to_js.bzl │ │ ├── valdi_run_compiler.bzl │ │ ├── valdi_static_resource.bzl │ │ ├── valdi_test.bzl │ │ ├── valdi_toolchain.bzl │ │ ├── valdi_toolchain_binary.bzl │ │ └── valdi_toolchain_type.bzl │ ├── valdi_compiler_repos_extension.bzl │ ├── valdi_library.bzl │ ├── workspace_init.bzl │ ├── workspace_postinit.bzl │ ├── workspace_preinit.bzl │ └── workspace_prepare.bzl ├── compiler/ │ ├── companion/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .nvmrc │ │ ├── .prettierignore │ │ ├── .prettierrc.json │ │ ├── .vscode/ │ │ │ └── settings.json │ │ ├── BUILD.bazel │ │ ├── GIT_HASH │ │ ├── README.md │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── remotedebug-ios-webkit-adapter/ │ │ │ ├── .editorconfig │ │ │ ├── .github/ │ │ │ │ └── workflows/ │ │ │ │ ├── auto_tags.yml │ │ │ │ ├── build.yml │ │ │ │ └── publish.yml │ │ │ ├── .gitignore │ │ │ ├── .npmignore │ │ │ ├── .nvmrc │ │ │ ├── BUILD.bazel │ │ │ ├── README.md │ │ │ ├── bin/ │ │ │ │ └── remotedebug-ios-webkit-adapter │ │ │ ├── gulpfile.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── adapters/ │ │ │ │ │ ├── adapter.ts │ │ │ │ │ ├── adapterCollection.ts │ │ │ │ │ ├── adapterInterfaces.ts │ │ │ │ │ ├── androidAdapter.ts │ │ │ │ │ ├── hermesAdapter.ts │ │ │ │ │ ├── iosAdapter.ts │ │ │ │ │ ├── testAdapter.ts │ │ │ │ │ └── universalAdapter.ts │ │ │ │ ├── index.ts │ │ │ │ ├── iosSimulatorSocketFinder.ts │ │ │ │ ├── lib/ │ │ │ │ │ ├── mock-socket.d.ts │ │ │ │ │ └── test-targets.json │ │ │ │ ├── logger.ts │ │ │ │ ├── protocols/ │ │ │ │ │ ├── androidTarget.ts │ │ │ │ │ ├── hermes/ │ │ │ │ │ │ └── hermes.ts │ │ │ │ │ ├── ios/ │ │ │ │ │ │ ├── ios.ts │ │ │ │ │ │ ├── ios12.ts │ │ │ │ │ │ ├── ios8.ts │ │ │ │ │ │ ├── ios9.ts │ │ │ │ │ │ └── screencast.ts │ │ │ │ │ ├── iosTarget.ts │ │ │ │ │ ├── protocol.ts │ │ │ │ │ └── target.ts │ │ │ │ └── server.ts │ │ │ ├── test/ │ │ │ │ ├── helperMocks.ts │ │ │ │ └── protocols/ │ │ │ │ └── target.test.ts │ │ │ ├── test.css │ │ │ ├── tsconfig.json │ │ │ └── tslint.json │ │ ├── scripts/ │ │ │ ├── run.sh │ │ │ ├── run_dev.sh │ │ │ └── update_companion.sh │ │ ├── src/ │ │ │ ├── AST.spec.ts │ │ │ ├── AST.ts │ │ │ ├── BatchMinifier.ts │ │ │ ├── CodeInstrumentation.ts │ │ │ ├── CompanionServiceBase.ts │ │ │ ├── CompilerCompanion.ts │ │ │ ├── ConsoleLogTransformer.spec.ts │ │ │ ├── ConsoleLogTransformer.ts │ │ │ ├── DebuggingProxy.ts │ │ │ ├── GenerateIds.spec.ts │ │ │ ├── GenerateIds.ts │ │ │ ├── GeneratedFileHeader.ts │ │ │ ├── IWorkspace.d.ts │ │ │ ├── Identifier.ts │ │ │ ├── JSXProcessor.spec.ts │ │ │ ├── JSXProcessor.ts │ │ │ ├── ObjectiveCWriter.ts │ │ │ ├── OutputWriter.ts │ │ │ ├── SourceMapUtils.ts │ │ │ ├── TSUtils.spec.ts │ │ │ ├── TSUtils.ts │ │ │ ├── Workspace.ts │ │ │ ├── WorkspaceStore.ts │ │ │ ├── ZombieKiller.ts │ │ │ ├── cache/ │ │ │ │ ├── CachingWorkspace.spec.ts │ │ │ │ ├── CachingWorkspace.ts │ │ │ │ ├── CachingWorkspaceFactory.ts │ │ │ │ ├── CircularLoopTracker.spec.ts │ │ │ │ ├── CircularLoopTracker.ts │ │ │ │ ├── ICompilationCache.d.ts │ │ │ │ ├── SQLiteCompilationCache.spec.ts │ │ │ │ └── SQLiteCompilationCache.ts │ │ │ ├── cli/ │ │ │ │ ├── generateGhostOwnershipMap.ts │ │ │ │ └── rewriteImports.ts │ │ │ ├── index.ts │ │ │ ├── index_tsnode.js │ │ │ ├── logger/ │ │ │ │ ├── ILogger.ts │ │ │ │ ├── LoggerUtils.ts │ │ │ │ ├── ProtocolLogger.ts │ │ │ │ └── StreamLogger.ts │ │ │ ├── native/ │ │ │ │ ├── CompileNativeCommand.ts │ │ │ │ ├── IRtoString.ts │ │ │ │ ├── NativeCodeWriter.ts │ │ │ │ ├── NativeCompiler.spec.ts │ │ │ │ ├── NativeCompiler.ts │ │ │ │ ├── NativeCompilerOptions.ts │ │ │ │ ├── NativeHelper.ts │ │ │ │ ├── builder/ │ │ │ │ │ ├── INativeCompilerBuilder.ts │ │ │ │ │ ├── NativeCompilerBuilder.ts │ │ │ │ │ ├── NativeCompilerBuilderIR.ts │ │ │ │ │ ├── VariableContext.ts │ │ │ │ │ └── internal/ │ │ │ │ │ ├── NativeCompilerBlockBuilderContext.ts │ │ │ │ │ └── transformers/ │ │ │ │ │ ├── NativeCompilerTransformerAutoRelease.ts │ │ │ │ │ ├── NativeCompilerTransformerConstantFolding.ts │ │ │ │ │ ├── NativeCompilerTransformerInsertRetainRelease.ts │ │ │ │ │ ├── NativeCompilerTransformerMergeRelease.ts │ │ │ │ │ ├── NativeCompilerTransformerOptimizeAssignments.ts │ │ │ │ │ ├── NativeCompilerTransformerOptimizeLoads.ts │ │ │ │ │ ├── NativeCompilerTransformerOptimizeVarRefs.ts │ │ │ │ │ ├── NativeCompilerTransformerResolveBuilderStubs.ts │ │ │ │ │ ├── NativeCompilerTransformerResolveSlots.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── IRVisitors.ts │ │ │ │ │ └── JumpIndexer.ts │ │ │ │ ├── emitter/ │ │ │ │ │ ├── CompilerNativeCEmitter.ts │ │ │ │ │ └── INativeCompilerEmitter.ts │ │ │ │ └── utils/ │ │ │ │ ├── AssignmentTracker.ts │ │ │ │ ├── NameAllocator.ts │ │ │ │ ├── NamePath.ts │ │ │ │ ├── StringEscape.ts │ │ │ │ └── VariableIdMap.ts │ │ │ ├── project/ │ │ │ │ ├── FileManager.ts │ │ │ │ ├── Project.spec.ts │ │ │ │ ├── Project.ts │ │ │ │ ├── SourceFileManager.ts │ │ │ │ ├── TypeScriptHosts.ts │ │ │ │ ├── VirtualFileSystem.spec.ts │ │ │ │ ├── VirtualFileSystem.ts │ │ │ │ └── tsInternals.ts │ │ │ ├── protocol.ts │ │ │ ├── sqlite_bindings/ │ │ │ │ ├── README.md │ │ │ │ ├── better_sqlite3_linux_x86_64.node │ │ │ │ └── better_sqlite3_macos_arm64.node │ │ │ ├── strings/ │ │ │ │ ├── GenerateStringsFiles.spec.ts │ │ │ │ ├── GenerateStringsFiles.ts │ │ │ │ ├── exportStringsFiles.ts │ │ │ │ ├── utils.spec.ts │ │ │ │ └── utils.ts │ │ │ ├── tslibs/ │ │ │ │ ├── .gitattributes │ │ │ │ ├── GenerateTSLibs.ts │ │ │ │ ├── TSLibsDatabase.ts │ │ │ │ └── tslibs.json │ │ │ ├── types/ │ │ │ │ └── IstanbulLibInstrument.d.ts │ │ │ └── utils/ │ │ │ ├── EmitResolver.ts │ │ │ ├── ImportPathResolver.ts │ │ │ ├── Lazy.ts │ │ │ ├── SerialTaskQueue.ts │ │ │ ├── Stopwatch.ts │ │ │ ├── StringUtils.ts │ │ │ ├── TextParser.ts │ │ │ ├── companionTransport.ts │ │ │ ├── fileUtils.ts │ │ │ ├── getArgumentValue.ts │ │ │ ├── rethrow.ts │ │ │ └── sha256.ts │ │ ├── supported-locales/ │ │ │ ├── .gitignore │ │ │ ├── .npmrc │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ └── tsconfig.json │ │ ├── tsconfig.base.json │ │ ├── tsconfig.bazel.json │ │ ├── tsconfig.json │ │ ├── webpack.config.js │ │ └── webpack.dev.config.js │ └── compiler/ │ ├── .gitignore │ ├── BUILD.bazel │ ├── Compiler/ │ │ ├── .gitignore │ │ ├── Package.resolved │ │ ├── Package.swift │ │ ├── Sources/ │ │ │ ├── ADBClient/ │ │ │ │ ├── ADBClient.swift │ │ │ │ ├── ADBDeviceConnection.swift │ │ │ │ └── DaemonServiceADBAutoConnector.swift │ │ │ ├── Bazel/ │ │ │ │ ├── BazelPersistentWorker.swift │ │ │ │ ├── BazelWorkerProtocol.swift │ │ │ │ └── BundleInfo+Bazel.swift │ │ │ ├── BundleManager.swift │ │ │ ├── CSS/ │ │ │ │ ├── CSSModuleCompiler.swift │ │ │ │ ├── Selector.swift │ │ │ │ ├── StyleSheetCompiler.swift │ │ │ │ ├── StyleSheetCompilerResult.swift │ │ │ │ ├── StyleTree+Proto.swift │ │ │ │ └── StyleTree.swift │ │ │ ├── Config/ │ │ │ │ ├── CompilerConfig.swift │ │ │ │ ├── CompilerFileInputList.swift │ │ │ │ ├── ResolvedConfigs.swift │ │ │ │ ├── ValdiProjectConfig.swift │ │ │ │ └── ValdiUserConfig.swift │ │ │ ├── Constants.swift │ │ │ ├── Debugger/ │ │ │ │ └── AndroidDebuggingTarget.swift │ │ │ ├── Files/ │ │ │ │ └── ValdiFilesFinder.swift │ │ │ ├── Generation/ │ │ │ │ ├── CodeWriter.swift │ │ │ │ ├── Cpp/ │ │ │ │ │ ├── CppCodeGenerator.swift │ │ │ │ │ ├── CppFunctionGenerator.swift │ │ │ │ │ ├── CppModuleGenerator.swift │ │ │ │ │ ├── CppSchemaWriter.swift │ │ │ │ │ ├── CppValidation.swift │ │ │ │ │ └── PropertyNameAllocator+CPP.swift │ │ │ │ ├── EmittedIdentifiers.swift │ │ │ │ ├── ExportedFunctionGenerator.swift │ │ │ │ ├── ExportedModuleGenerator.swift │ │ │ │ ├── GeneratedTypesDiagnostics.swift │ │ │ │ ├── Kotlin/ │ │ │ │ │ ├── JVMClass.swift │ │ │ │ │ ├── KotlinCodeGenerator.swift │ │ │ │ │ ├── KotlinEmittedTypeReferences.swift │ │ │ │ │ ├── KotlinFunctionGenerator.swift │ │ │ │ │ ├── KotlinModuleGenerator.swift │ │ │ │ │ ├── KotlinSchemaWriter.swift │ │ │ │ │ └── KotlinValidation.swift │ │ │ │ ├── NativeSourceGenerator.swift │ │ │ │ ├── ObjC/ │ │ │ │ │ ├── ObjCCodeGenerator.swift │ │ │ │ │ ├── ObjCDependencyRepresentationGenerator.swift │ │ │ │ │ ├── ObjCEmittedIdentifiers.swift │ │ │ │ │ ├── ObjCEmittedTrampolineFunctions.swift │ │ │ │ │ ├── ObjCFunctionGenerator.swift │ │ │ │ │ ├── ObjCModuleGenerator.swift │ │ │ │ │ ├── ObjCSchemaWriter.swift │ │ │ │ │ └── ObjCValidation.swift │ │ │ │ ├── SchemaWriter.swift │ │ │ │ └── Swift/ │ │ │ │ ├── SwiftCodeGenerator.swift │ │ │ │ ├── SwiftEmittedIdentifiers.swift │ │ │ │ ├── SwiftFunctionGenerator.swift │ │ │ │ ├── SwiftSchemaWriter.swift │ │ │ │ └── SwiftValidation.swift │ │ │ ├── Images/ │ │ │ │ ├── ImageConverter.swift │ │ │ │ ├── ImageToolbox.swift │ │ │ │ ├── ImageVariantResolver.swift │ │ │ │ └── ImageVariantSpecs.swift │ │ │ ├── Kotlin/ │ │ │ │ └── KotlinCompiler.swift │ │ │ ├── Logs/ │ │ │ │ ├── LogsCleaner.swift │ │ │ │ ├── LogsFileHandle.swift │ │ │ │ ├── LogsRotator.swift │ │ │ │ └── LogsWriter.swift │ │ │ ├── Models/ │ │ │ │ ├── CompilationResult.swift │ │ │ │ ├── DependencyMetadata.swift │ │ │ │ ├── DownloadableArtifactSignatures.swift │ │ │ │ ├── File.swift │ │ │ │ ├── FinalFile.swift │ │ │ │ ├── FontAsset.swift │ │ │ │ ├── IgnoredFile.swift │ │ │ │ ├── ImageAsset.swift │ │ │ │ ├── ImageVariantsFilter.swift │ │ │ │ ├── JavaScriptFile.swift │ │ │ │ ├── NativeSource.swift │ │ │ │ ├── ResourceResult.swift │ │ │ │ ├── TransformedResource.swift │ │ │ │ ├── Valdi.pb.swift │ │ │ │ ├── ZippableItem.swift │ │ │ │ ├── valdi-artifact-management.pb.swift │ │ │ │ └── valdi-daemon-registry.pb.swift │ │ │ ├── OutputDirectories.swift │ │ │ ├── Parser/ │ │ │ │ ├── Models/ │ │ │ │ │ └── ValdiRawDocument.swift │ │ │ │ └── ValdiDocumentParser.swift │ │ │ ├── Pipeline/ │ │ │ │ ├── CompilationItem.swift │ │ │ │ ├── CompilationItems.swift │ │ │ │ ├── CompilationMode.swift │ │ │ │ ├── CompilationPipeline.swift │ │ │ │ ├── CompilationProcessor.swift │ │ │ │ ├── CompilationSequence.swift │ │ │ │ ├── DeferredWarningCollector.swift │ │ │ │ ├── JSConstants.swift │ │ │ │ └── ModulesFilter.swift │ │ │ ├── Processors/ │ │ │ │ ├── ApplyTypeScriptAnnotationsProcessor.swift │ │ │ │ ├── BundleResourcesProcessor.swift │ │ │ │ ├── CSSModulesProcessor.swift │ │ │ │ ├── ClientSqlExportProcessor.swift │ │ │ │ ├── ClientSqlProcessor.swift │ │ │ │ ├── CodeCoverageProcessor.swift │ │ │ │ ├── CombineNativeSourcesProcessor.swift │ │ │ │ ├── CompileDocumentsProcessor.swift │ │ │ │ ├── CompileTypeScriptProcessor.swift │ │ │ │ ├── DiagnosticsProcessor.swift │ │ │ │ ├── DocumentUserScriptExtractionProcessor.swift │ │ │ │ ├── DumpCompilationMetadataProcessor.swift │ │ │ │ ├── DumpComponentsProcessor.swift │ │ │ │ ├── DumpTypeScriptSymbolsProcessor.swift │ │ │ │ ├── FilterItemsProcessor.swift │ │ │ │ ├── FinalFilesVerificationProcessor.swift │ │ │ │ ├── GenerateAssetCatalogProcessor.swift │ │ │ │ ├── GenerateBuildFileProcessor.swift │ │ │ │ ├── GenerateDependencyInjectionDataProcessor.swift │ │ │ │ ├── GenerateGlobalMetadataProcessor.swift │ │ │ │ ├── GenerateIdsFilesProcessor.swift │ │ │ │ ├── GenerateModelsProcessor.swift │ │ │ │ ├── GenerateModuleBuildFileProcessor.swift │ │ │ │ ├── GenerateViewClassesProcessor.swift │ │ │ │ ├── GeneratedTypesVerificationProcessor.swift │ │ │ │ ├── HotReloadingProcessor.swift │ │ │ │ ├── IdentifyFontAssetsProcessor.swift │ │ │ │ ├── IdentifyImageAssetsProcessor.swift │ │ │ │ ├── IdentifyItemsProcessor.swift │ │ │ │ ├── ImageResourcesProcessor.swift │ │ │ │ ├── InvalidDocumentsProcessor.swift │ │ │ │ ├── JavaScriptPreCompiler.swift │ │ │ │ ├── LoadDumpedClassMappingProcessor.swift │ │ │ │ ├── MinifyJsProcessor.swift │ │ │ │ ├── NativeCodeGenerationManager.swift │ │ │ │ ├── ParseDocumentsProcessor.swift │ │ │ │ ├── ParseTypeScriptAnnotationsProcessor.swift │ │ │ │ ├── PrependWebJsProcessor.swift │ │ │ │ ├── ProjectClassMappingManager.swift │ │ │ │ ├── ResolveOutputPathsProcessor.swift │ │ │ │ ├── SaveFilesProcessor.swift │ │ │ │ ├── SourceMapProcessor.swift │ │ │ │ ├── TranslationStringsProcessor.swift │ │ │ │ ├── TypeScriptAnnotationsManager.swift │ │ │ │ ├── TypeScriptCompilerManager.swift │ │ │ │ ├── TypeScriptProcessingUtils.swift │ │ │ │ └── UserScriptManager.swift │ │ │ ├── Reloader/ │ │ │ │ ├── AddressPort.swift │ │ │ │ ├── AutoRecompiler.swift │ │ │ │ ├── DaemonService.swift │ │ │ │ ├── DaemonServiceConnectedClient.swift │ │ │ │ ├── DaemonServiceDefinitions.swift │ │ │ │ ├── DaemonServiceSimulatorAutoConnector.swift │ │ │ │ ├── DaemonServiceUSBMuxAutoConnector.swift │ │ │ │ ├── DaemonTCPConnection.swift │ │ │ │ ├── DaemonTCPConnectionAcceptor.swift │ │ │ │ ├── DocumentChangeNotifier.swift │ │ │ │ ├── FileDependenciesManager.swift │ │ │ │ ├── NonSpammyLog.swift │ │ │ │ ├── ReloaderDeviceWhitelist.swift │ │ │ │ ├── ReloaderServiceAnnouncer.swift │ │ │ │ ├── ReloaderServiceUDPAnnouncer.swift │ │ │ │ ├── ResourceStore.swift │ │ │ │ ├── String+Network.swift │ │ │ │ ├── ValdiDaemonProtocolClient.swift │ │ │ │ └── Watchman/ │ │ │ │ ├── WatchmanClient.swift │ │ │ │ ├── WatchmanConnection.swift │ │ │ │ └── WatchmanResponse.swift │ │ │ ├── Sass/ │ │ │ │ ├── LibSassCompiler.swift │ │ │ │ └── SassCompiler.swift │ │ │ ├── StaticRes/ │ │ │ │ └── StaticResGenerator.swift │ │ │ ├── Template/ │ │ │ │ ├── CompilationMetadata.swift │ │ │ │ ├── KotlinViewClassGenerator.swift │ │ │ │ ├── LanguageSpecificViewClassGenerator.swift │ │ │ │ ├── ObjCViewClassGenerator.swift │ │ │ │ ├── ProjectClassMapping.swift │ │ │ │ ├── ResolvedClassMapping.swift │ │ │ │ ├── SwiftViewClassGenerator.swift │ │ │ │ ├── TemplateCompilerResult.swift │ │ │ │ ├── ValdiTemplateCompiler.swift │ │ │ │ └── ViewClassGenerator.swift │ │ │ ├── Tests/ │ │ │ │ └── Tests.swift │ │ │ ├── ToolboxExecutable/ │ │ │ │ └── ToolboxExecutable.swift │ │ │ ├── TypeScript/ │ │ │ │ ├── CompanionExecutable.swift │ │ │ │ ├── CompanionExecutableProvider.swift │ │ │ │ ├── JSCodeInstrumentation.swift │ │ │ │ ├── JSDocs.swift │ │ │ │ ├── TypeScriptAnnotation.swift │ │ │ │ ├── TypeScriptCommands.swift │ │ │ │ ├── TypeScriptCommentedFile.swift │ │ │ │ ├── TypeScriptCommentedSymbol.swift │ │ │ │ ├── TypeScriptCompiler.swift │ │ │ │ ├── TypeScriptCompilerCompanionDriver.swift │ │ │ │ ├── TypeScriptCompilerDriver.swift │ │ │ │ ├── TypeScriptFile.swift │ │ │ │ ├── TypeScriptGenerator.swift │ │ │ │ ├── TypeScriptIntermediateUtils.swift │ │ │ │ ├── TypeScriptNativeTypeExporter.swift │ │ │ │ ├── TypeScriptNativeTypeResolver.swift │ │ │ │ ├── TypeScriptStringsModuleGenerator.swift │ │ │ │ ├── TypeScriptSymbol.swift │ │ │ │ ├── TypeScriptSymbolParser.swift │ │ │ │ └── ValdiJSElement.swift │ │ │ ├── USBMuxClient/ │ │ │ │ ├── USBMuxBroadcastConnection.swift │ │ │ │ ├── USBMuxClient.swift │ │ │ │ ├── USBMuxConnection.swift │ │ │ │ ├── USBMuxDeviceConnection.swift │ │ │ │ ├── USBMuxError.swift │ │ │ │ ├── USBMuxPacket.swift │ │ │ │ └── USBMuxTunnel.swift │ │ │ ├── Utils/ │ │ │ │ ├── ArtifactUploader.swift │ │ │ │ ├── AsyncTaskQueue.swift │ │ │ │ ├── BackoffTimer.swift │ │ │ │ ├── BatchSequence.swift │ │ │ │ ├── BatchWorkerQueue.swift │ │ │ │ ├── BlueSocketTCPConnection.swift │ │ │ │ ├── CLIUtils.swift │ │ │ │ ├── Caching/ │ │ │ │ │ ├── DiskCache.swift │ │ │ │ │ ├── DiskCacheImpl.swift │ │ │ │ │ └── DiskCacheProvider.swift │ │ │ │ ├── Cancelable.swift │ │ │ │ ├── CompilationCache.swift │ │ │ │ ├── CompilerError.swift │ │ │ │ ├── ComponentPath.swift │ │ │ │ ├── ConfigValue.swift │ │ │ │ ├── DataConvertible.swift │ │ │ │ ├── DispatchChannelTCPConnection.swift │ │ │ │ ├── DumpModuleInfos.swift │ │ │ │ ├── Extensions/ │ │ │ │ │ ├── Array+ParallelMap.swift │ │ │ │ │ ├── Array+Search.swift │ │ │ │ │ ├── BlueSocket+Extensions.swift │ │ │ │ │ ├── Collection+Utils.swift │ │ │ │ │ ├── Data+HexString.swift │ │ │ │ │ ├── Data+SHA256.swift │ │ │ │ │ ├── Data+Serialization.swift │ │ │ │ │ ├── Data+UnsafePointers.swift │ │ │ │ │ ├── DispatchQueue+Promise.swift │ │ │ │ │ ├── DispatchSemaphore+Lock.swift │ │ │ │ │ ├── Message+orderedSerializedData.swift │ │ │ │ │ ├── NodeAttribute+Utils.swift │ │ │ │ │ ├── Result+FromTuple.swift │ │ │ │ │ ├── Result+GetError.swift │ │ │ │ │ ├── String+Concatenate.swift │ │ │ │ │ ├── String+EnvVariables.swift │ │ │ │ │ ├── String+FileExtensions.swift │ │ │ │ │ ├── String+JS.swift │ │ │ │ │ ├── String+NSRange.swift │ │ │ │ │ ├── String+Regex.swift │ │ │ │ │ ├── String+Stride.swift │ │ │ │ │ ├── String+Trim.swift │ │ │ │ │ ├── Swift+Utils.swift │ │ │ │ │ ├── TimeInterval+Utils.swift │ │ │ │ │ ├── URL+FileExtensions.swift │ │ │ │ │ ├── URL+Navigation.swift │ │ │ │ │ ├── URL+RandomFile.swift │ │ │ │ │ └── URL+Symlink.swift │ │ │ │ ├── FileHandleReader.swift │ │ │ │ ├── FileHeaderCommentGenerator.swift │ │ │ │ ├── GeneratedSourceFilename.swift │ │ │ │ ├── InclusionConfig.swift │ │ │ │ ├── KillOnTimeout.swift │ │ │ │ ├── LinesIndexer.swift │ │ │ │ ├── Logger.swift │ │ │ │ ├── MeasureExecution.swift │ │ │ │ ├── NetworkInterfaceAddresses.swift │ │ │ │ ├── Parser.swift │ │ │ │ ├── PipeHandle.swift │ │ │ │ ├── ProcessHandle.swift │ │ │ │ ├── Promise.swift │ │ │ │ ├── RandomAccessCollection+SafeGet.swift │ │ │ │ ├── Ref.swift │ │ │ │ ├── ResolvedModuleImport.swift │ │ │ │ ├── SafeAutorelease.swift │ │ │ │ ├── SentryClient.swift │ │ │ │ ├── Synchronized.swift │ │ │ │ ├── TCPConnection.swift │ │ │ │ ├── TCPTunnel.swift │ │ │ │ ├── TCPTunnelConnection.swift │ │ │ │ ├── Trie.swift │ │ │ │ ├── TypeScriptCommands+ParserDebug.swift │ │ │ │ ├── UnresolvedPath.swift │ │ │ │ ├── ValdiFileManager.swift │ │ │ │ ├── ValdiModuleBuilder.swift │ │ │ │ ├── ValdiModuleUtils.swift │ │ │ │ └── ZstdCompressor.swift │ │ │ ├── ValdiCompiler.swift │ │ │ ├── ValdiCompilerArguments.swift │ │ │ ├── ValdiCompilerRunner.swift │ │ │ ├── ViewModels/ │ │ │ │ ├── CppEnumGenerator.swift │ │ │ │ ├── CppModelGenerator.swift │ │ │ │ ├── ExportedEnumGenerator.swift │ │ │ │ ├── KotlinEnumGenerator.swift │ │ │ │ ├── KotlinFactoryGenerator.swift │ │ │ │ ├── KotlinModelGenerator.swift │ │ │ │ ├── ObjCEnumGenerator.swift │ │ │ │ ├── ObjCModelGenerator.swift │ │ │ │ ├── ObjCSelector.swift │ │ │ │ ├── PropertyNameAllocator+Kotlin.swift │ │ │ │ ├── PropertyNameAllocator+ObjC.swift │ │ │ │ ├── PropertyNameAllocator+Swift.swift │ │ │ │ ├── PropertyNameAllocator.swift │ │ │ │ ├── SwiftEnumGenerator.swift │ │ │ │ ├── SwiftModelGenerator.swift │ │ │ │ └── ValdiModelGenerator.swift │ │ │ └── main.swift │ │ ├── Tests/ │ │ │ ├── CompilerTests/ │ │ │ │ ├── CompilerTests.swift │ │ │ │ └── ValdiAnnotationTests.swift │ │ │ └── LinuxMain.swift │ │ └── Vendors/ │ │ ├── BlueSocket/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ ├── Socket.swift │ │ │ ├── SocketProtocols.swift │ │ │ └── SocketUtils.swift │ │ ├── Clibsass/ │ │ │ ├── Package.swift │ │ │ ├── README.snap │ │ │ ├── Sources/ │ │ │ │ ├── GNUmakefile.am │ │ │ │ ├── MurmurHash2.hpp │ │ │ │ ├── ast.cpp │ │ │ │ ├── ast.hpp │ │ │ │ ├── ast2c.cpp │ │ │ │ ├── ast2c.hpp │ │ │ │ ├── ast_def_macros.hpp │ │ │ │ ├── ast_fwd_decl.cpp │ │ │ │ ├── ast_fwd_decl.hpp │ │ │ │ ├── ast_helpers.hpp │ │ │ │ ├── ast_sel_cmp.cpp │ │ │ │ ├── ast_sel_super.cpp │ │ │ │ ├── ast_sel_unify.cpp │ │ │ │ ├── ast_sel_weave.cpp │ │ │ │ ├── ast_selectors.cpp │ │ │ │ ├── ast_selectors.hpp │ │ │ │ ├── ast_supports.cpp │ │ │ │ ├── ast_supports.hpp │ │ │ │ ├── ast_values.cpp │ │ │ │ ├── ast_values.hpp │ │ │ │ ├── b64/ │ │ │ │ │ ├── cencode.h │ │ │ │ │ └── encode.h │ │ │ │ ├── backtrace.cpp │ │ │ │ ├── backtrace.hpp │ │ │ │ ├── base64vlq.cpp │ │ │ │ ├── base64vlq.hpp │ │ │ │ ├── bind.cpp │ │ │ │ ├── bind.hpp │ │ │ │ ├── c2ast.cpp │ │ │ │ ├── c2ast.hpp │ │ │ │ ├── c99func.c │ │ │ │ ├── cencode.c │ │ │ │ ├── check_nesting.cpp │ │ │ │ ├── check_nesting.hpp │ │ │ │ ├── color_maps.cpp │ │ │ │ ├── color_maps.hpp │ │ │ │ ├── constants.cpp │ │ │ │ ├── constants.hpp │ │ │ │ ├── context.cpp │ │ │ │ ├── context.hpp │ │ │ │ ├── cssize.cpp │ │ │ │ ├── cssize.hpp │ │ │ │ ├── dart_helpers.hpp │ │ │ │ ├── debug.hpp │ │ │ │ ├── debugger.hpp │ │ │ │ ├── emitter.cpp │ │ │ │ ├── emitter.hpp │ │ │ │ ├── environment.cpp │ │ │ │ ├── environment.hpp │ │ │ │ ├── error_handling.cpp │ │ │ │ ├── error_handling.hpp │ │ │ │ ├── eval.cpp │ │ │ │ ├── eval.hpp │ │ │ │ ├── eval_selectors.cpp │ │ │ │ ├── expand.cpp │ │ │ │ ├── expand.hpp │ │ │ │ ├── extender.cpp │ │ │ │ ├── extender.hpp │ │ │ │ ├── extension.cpp │ │ │ │ ├── extension.hpp │ │ │ │ ├── file.cpp │ │ │ │ ├── file.hpp │ │ │ │ ├── fn_colors.cpp │ │ │ │ ├── fn_colors.hpp │ │ │ │ ├── fn_lists.cpp │ │ │ │ ├── fn_lists.hpp │ │ │ │ ├── fn_maps.cpp │ │ │ │ ├── fn_maps.hpp │ │ │ │ ├── fn_miscs.cpp │ │ │ │ ├── fn_miscs.hpp │ │ │ │ ├── fn_numbers.cpp │ │ │ │ ├── fn_numbers.hpp │ │ │ │ ├── fn_selectors.cpp │ │ │ │ ├── fn_selectors.hpp │ │ │ │ ├── fn_strings.cpp │ │ │ │ ├── fn_strings.hpp │ │ │ │ ├── fn_utils.cpp │ │ │ │ ├── fn_utils.hpp │ │ │ │ ├── include/ │ │ │ │ │ ├── sass/ │ │ │ │ │ │ ├── base.h │ │ │ │ │ │ ├── context.h │ │ │ │ │ │ ├── functions.h │ │ │ │ │ │ ├── values.h │ │ │ │ │ │ ├── version.h │ │ │ │ │ │ └── version.h.in │ │ │ │ │ ├── sass.h │ │ │ │ │ └── sass2scss.h │ │ │ │ ├── inspect.cpp │ │ │ │ ├── inspect.hpp │ │ │ │ ├── json.cpp │ │ │ │ ├── json.hpp │ │ │ │ ├── kwd_arg_macros.hpp │ │ │ │ ├── lexer.cpp │ │ │ │ ├── lexer.hpp │ │ │ │ ├── listize.cpp │ │ │ │ ├── listize.hpp │ │ │ │ ├── mapping.hpp │ │ │ │ ├── memory/ │ │ │ │ │ ├── allocator.cpp │ │ │ │ │ ├── allocator.hpp │ │ │ │ │ ├── config.hpp │ │ │ │ │ ├── memory_pool.hpp │ │ │ │ │ ├── shared_ptr.cpp │ │ │ │ │ └── shared_ptr.hpp │ │ │ │ ├── memory.hpp │ │ │ │ ├── operation.hpp │ │ │ │ ├── operators.cpp │ │ │ │ ├── operators.hpp │ │ │ │ ├── ordered_map.hpp │ │ │ │ ├── output.cpp │ │ │ │ ├── output.hpp │ │ │ │ ├── parser.cpp │ │ │ │ ├── parser.hpp │ │ │ │ ├── parser_selectors.cpp │ │ │ │ ├── permutate.hpp │ │ │ │ ├── plugins.cpp │ │ │ │ ├── plugins.hpp │ │ │ │ ├── position.cpp │ │ │ │ ├── position.hpp │ │ │ │ ├── prelexer.cpp │ │ │ │ ├── prelexer.hpp │ │ │ │ ├── remove_placeholders.cpp │ │ │ │ ├── remove_placeholders.hpp │ │ │ │ ├── sass.cpp │ │ │ │ ├── sass.hpp │ │ │ │ ├── sass2scss.cpp │ │ │ │ ├── sass_context.cpp │ │ │ │ ├── sass_context.hpp │ │ │ │ ├── sass_functions.cpp │ │ │ │ ├── sass_functions.hpp │ │ │ │ ├── sass_values.cpp │ │ │ │ ├── sass_values.hpp │ │ │ │ ├── settings.hpp │ │ │ │ ├── source.cpp │ │ │ │ ├── source.hpp │ │ │ │ ├── source_data.hpp │ │ │ │ ├── source_map.cpp │ │ │ │ ├── source_map.hpp │ │ │ │ ├── stylesheet.cpp │ │ │ │ ├── stylesheet.hpp │ │ │ │ ├── support/ │ │ │ │ │ └── libsass.pc.in │ │ │ │ ├── to_value.cpp │ │ │ │ ├── to_value.hpp │ │ │ │ ├── units.cpp │ │ │ │ ├── units.hpp │ │ │ │ ├── utf8/ │ │ │ │ │ ├── checked.h │ │ │ │ │ ├── core.h │ │ │ │ │ └── unchecked.h │ │ │ │ ├── utf8.h │ │ │ │ ├── utf8_string.cpp │ │ │ │ ├── utf8_string.hpp │ │ │ │ ├── util.cpp │ │ │ │ ├── util.hpp │ │ │ │ ├── util_string.cpp │ │ │ │ ├── util_string.hpp │ │ │ │ ├── values.cpp │ │ │ │ └── values.hpp │ │ │ └── VERSION.txt │ │ ├── SwiftCSSParser/ │ │ │ ├── Package.resolved │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ ├── README │ │ │ ├── StyleElement.swift │ │ │ └── StyleSheet.swift │ │ ├── Yaml/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ ├── YAMLOperators.swift │ │ │ ├── YAMLParser.swift │ │ │ ├── YAMLRegex.swift │ │ │ ├── YAMLResult.swift │ │ │ ├── YAMLTokenizer.swift │ │ │ └── Yaml.swift │ │ ├── Zstd/ │ │ │ ├── Package.swift │ │ │ └── Sources/ │ │ │ ├── bitstream.h │ │ │ ├── compiler.h │ │ │ ├── cpu.h │ │ │ ├── debug.c │ │ │ ├── debug.h │ │ │ ├── entropy_common.c │ │ │ ├── error_private.c │ │ │ ├── error_private.h │ │ │ ├── fse.h │ │ │ ├── fse_compress.c │ │ │ ├── fse_decompress.c │ │ │ ├── hist.c │ │ │ ├── hist.h │ │ │ ├── huf.h │ │ │ ├── huf_compress.c │ │ │ ├── huf_decompress.c │ │ │ ├── include/ │ │ │ │ └── zstd.h │ │ │ ├── mem.h │ │ │ ├── pool.c │ │ │ ├── pool.h │ │ │ ├── threading.c │ │ │ ├── threading.h │ │ │ ├── xxhash.c │ │ │ ├── xxhash.h │ │ │ ├── zstd_common.c │ │ │ ├── zstd_compress.c │ │ │ ├── zstd_compress_internal.h │ │ │ ├── zstd_compress_literals.c │ │ │ ├── zstd_compress_literals.h │ │ │ ├── zstd_compress_sequences.c │ │ │ ├── zstd_compress_sequences.h │ │ │ ├── zstd_cwksp.h │ │ │ ├── zstd_ddict.c │ │ │ ├── zstd_ddict.h │ │ │ ├── zstd_decompress.c │ │ │ ├── zstd_decompress_block.c │ │ │ ├── zstd_decompress_block.h │ │ │ ├── zstd_decompress_internal.h │ │ │ ├── zstd_double_fast.c │ │ │ ├── zstd_double_fast.h │ │ │ ├── zstd_errors.h │ │ │ ├── zstd_fast.c │ │ │ ├── zstd_fast.h │ │ │ ├── zstd_internal.h │ │ │ ├── zstd_lazy.c │ │ │ ├── zstd_lazy.h │ │ │ ├── zstd_ldm.c │ │ │ ├── zstd_ldm.h │ │ │ ├── zstd_opt.c │ │ │ ├── zstd_opt.h │ │ │ ├── zstdmt_compress.c │ │ │ └── zstdmt_compress.h │ │ └── katana-parser/ │ │ ├── Package.swift │ │ ├── README │ │ └── Sources/ │ │ ├── foundation.c │ │ ├── include/ │ │ │ ├── foundation.h │ │ │ ├── katana.h │ │ │ ├── katana.lex.h │ │ │ ├── katana.tab.h │ │ │ ├── parser.h │ │ │ ├── selector.h │ │ │ └── tokenizer.h │ │ ├── katana.lex.c │ │ ├── katana.tab.c │ │ ├── parser.c │ │ ├── selector.c │ │ └── tokenizer.c │ ├── README.md │ ├── generate_proto.py │ ├── generate_proto.sh │ ├── scripts/ │ │ ├── README_local_compiler.md │ │ ├── entitlements.plist │ │ ├── update_compiler.sh │ │ └── use_local_compiler.sh │ ├── valdi-artifact-management.proto │ ├── valdi-daemon-registry.proto │ └── valdi.proto ├── docs/ │ ├── DEV_SETUP.md │ ├── INSTALL.md │ ├── README.md │ ├── TROUBLESHOOTING.md │ ├── api/ │ │ ├── api-quick-reference.md │ │ ├── api-reference-elements.md │ │ └── api-style-attributes.md │ ├── codelabs/ │ │ ├── advanced_ui/ │ │ │ ├── 1-setup.md │ │ │ ├── 2-section_list.md │ │ │ └── 3-flexbox.md │ │ ├── getting_started/ │ │ │ ├── 1-introduction.md │ │ │ ├── 2-start_coding.md │ │ │ ├── 3-declarative_rendering.md │ │ │ ├── 3-setup_code_tools.md │ │ │ ├── 4-control_flow_loops.md │ │ │ ├── 5-component_state.md │ │ │ ├── 6-component_lifecycle.md │ │ │ ├── 7-component_events.md │ │ │ └── 8-unittest.md │ │ ├── how_to_get_help.md │ │ ├── integration_with_native/ │ │ │ ├── 1-introduction.md │ │ │ ├── 2-setup_ui.md │ │ │ ├── 3-context_view_model.md │ │ │ ├── 4-get_friends.md │ │ │ ├── 5-get_ready_for_testing.md │ │ │ ├── 6-native_build_module.md │ │ │ ├── android/ │ │ │ │ ├── 1-android_setup_for_development.md │ │ │ │ ├── 2-android_hook_up_module.md │ │ │ │ ├── 3-android_hook_up_snapchatter_service.md │ │ │ │ ├── 4-android_recommendFriendsCallback.md │ │ │ │ └── 5-android_testing.md │ │ │ ├── ios/ │ │ │ │ ├── 1-ios_setup_for_development.md │ │ │ │ ├── 2-ios_hook_up_module.md │ │ │ │ ├── 3-ios_hook_up_snapchatter_service.md │ │ │ │ ├── 4-ios_recommendfriendscallback.md │ │ │ │ └── 5-ios_testing.md │ │ │ └── ios_swift/ │ │ │ ├── 1-ios_setup_for_development.md │ │ │ ├── 2-ios_hook_up_module.md │ │ │ ├── 3-ios_hook_up_snapchatter_service.md │ │ │ └── 4-ios_recommendfriendscallback.md │ │ └── shared_business_logic/ │ │ ├── 1-introduction.md │ │ ├── 2-setup_module.md │ │ ├── 3-business_logic.md │ │ ├── 4-native_annotations.md │ │ ├── android/ │ │ │ ├── 1-android_setup_for_development.md │ │ │ └── 2-android_hook_up_module.md │ │ └── ios/ │ │ ├── 1-ios_setup_for_development.md │ │ └── 2-ios_hook_up_module.md │ ├── docs/ │ │ ├── advanced-animations.md │ │ ├── advanced-element-references.md │ │ ├── advanced-full-stack.md │ │ ├── advanced-images.md │ │ ├── advanced-localization.md │ │ ├── advanced-native-references.md │ │ ├── advanced-protobuf.md │ │ ├── advanced-provider.md │ │ ├── advanced-worker-service.md │ │ ├── ai-tooling.md │ │ ├── choosing-valdi.md │ │ ├── client-libraries-rxjs.md │ │ ├── command-line-references.md │ │ ├── control-flow.md │ │ ├── core-component.md │ │ ├── core-events.md │ │ ├── core-flexbox.md │ │ ├── core-images.md │ │ ├── core-module.md │ │ ├── core-scrolls.md │ │ ├── core-slots.md │ │ ├── core-states.md │ │ ├── core-styling.md │ │ ├── core-text.md │ │ ├── core-touches.md │ │ ├── core-video.md │ │ ├── core-views.md │ │ ├── export-model-vs-export-proxy-marshalling.md │ │ ├── faq.md │ │ ├── glossary.md │ │ ├── help-support.md │ │ ├── help-troubleshooting.md │ │ ├── internals-api-design.md │ │ ├── internals-compiler.md │ │ ├── internals-native-integration.md │ │ ├── internals-renderer.md │ │ ├── internals-runtime.md │ │ ├── migrate-from-compose.md │ │ ├── migrate-from-flutter.md │ │ ├── native-annotations.md │ │ ├── native-bindings.md │ │ ├── native-collectionview.md │ │ ├── native-context.md │ │ ├── native-customviews.md │ │ ├── native-polyglot.md │ │ ├── native-types.md │ │ ├── native-view-model.md │ │ ├── navigation.md │ │ ├── on-render.md │ │ ├── performance-memory-leaks.md │ │ ├── performance-optimization.md │ │ ├── performance-tracing.md │ │ ├── performance-view-recycling.md │ │ ├── start-about.md │ │ ├── start-code-lab.md │ │ ├── start-from-react.md │ │ ├── start-install.md │ │ ├── start-introduction.md │ │ ├── stdlib-coreutils.md │ │ ├── stdlib-filesystem.md │ │ ├── stdlib-http.md │ │ ├── stdlib-persistence.md │ │ ├── third-party-dependencies.md │ │ ├── workflow-appstore-release.md │ │ ├── workflow-bazel.md │ │ ├── workflow-cli-application.md │ │ ├── workflow-disk.md │ │ ├── workflow-external-build-system.md │ │ ├── workflow-hermes-debugger.md │ │ ├── workflow-inspector.md │ │ ├── workflow-style-guide.md │ │ └── workflow-testing.md │ └── setup/ │ ├── linux_setup.md │ └── macos_setup.md ├── fossa-deps.yml ├── libs/ │ ├── dummy/ │ │ ├── BUILD.bazel │ │ ├── src/ │ │ │ ├── dummy/ │ │ │ │ └── main.cpp │ │ │ └── manifest/ │ │ │ └── AndroidManifest.xml │ │ └── test/ │ │ └── Test.cpp │ ├── image_toolbox/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ └── src/ │ │ ├── image_toolbox/ │ │ │ ├── ImageToolbox.cpp │ │ │ ├── ImageToolbox.hpp │ │ │ ├── SVGRenderer.cpp │ │ │ └── SVGRenderer.hpp │ │ └── image_toolbox_c/ │ │ ├── image_toolbox.cpp │ │ └── image_toolbox.h │ └── utils/ │ ├── BUILD.bazel │ └── src/ │ ├── utils/ │ │ ├── NoDestructor.hpp │ │ ├── ObjCppPtrWrapper.hpp │ │ ├── base/ │ │ │ ├── Function.hpp │ │ │ └── NonCopyable.hpp │ │ ├── crypto/ │ │ │ ├── AesEncryptor.cpp │ │ │ ├── AesEncryptor.hpp │ │ │ ├── CryptoHelpers.cpp │ │ │ └── CryptoHelpers.hpp │ │ ├── debugging/ │ │ │ ├── Assert.cpp │ │ │ ├── Assert.hpp │ │ │ ├── DjinniPrologue.hpp │ │ │ ├── Trace.cpp │ │ │ ├── Trace.hpp │ │ │ └── detail/ │ │ │ ├── AssertInternals.cpp │ │ │ └── AssertInternals.hpp │ │ ├── encoding/ │ │ │ ├── Base64Utils.cpp │ │ │ └── Base64Utils.hpp │ │ ├── logging/ │ │ │ ├── Log.hpp │ │ │ ├── Logger.cpp │ │ │ └── Logger.hpp │ │ ├── platform/ │ │ │ ├── BuildOptions.hpp │ │ │ ├── BuildOptionsDefault.hpp │ │ │ ├── BuildOptionsGenerated.hpp.in │ │ │ ├── JNITypeStubs.hpp │ │ │ ├── JvmOnLoad.cpp │ │ │ ├── JvmOnLoad.hpp │ │ │ ├── JvmUtils.cpp │ │ │ ├── JvmUtils.hpp │ │ │ └── TargetPlatform.hpp │ │ └── time/ │ │ ├── BoottimeClock.cpp │ │ ├── BoottimeClock.hpp │ │ ├── Duration.hpp │ │ ├── StopWatch.hpp │ │ ├── UptimeClock.cpp │ │ └── UptimeClock.hpp │ └── utils_oss/ │ └── utils_oss.cpp ├── modules/ │ ├── .terserrc.json │ ├── BUILD.bazel │ ├── _configs/ │ │ ├── base.tsconfig.json │ │ └── eslint.tsconfig.json │ ├── hello_world/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── HelloWorldApp.tsx │ │ │ └── index.ts │ │ └── tsconfig.json │ ├── tsconfig.json │ └── types/ │ ├── Long.d.ts │ └── globals.d.ts ├── npm_modules/ │ ├── cli/ │ │ ├── .bazelignore │ │ ├── .bootstrap/ │ │ │ ├── apps/ │ │ │ │ ├── cli_application/ │ │ │ │ │ ├── BUILD.bazel.template │ │ │ │ │ └── modules/ │ │ │ │ │ └── {{MODULE_NAME}}/ │ │ │ │ │ ├── BUILD.bazel.template │ │ │ │ │ └── src/ │ │ │ │ │ └── index.ts │ │ │ │ └── ui_application/ │ │ │ │ ├── .eslint.rc │ │ │ │ ├── BUILD.bazel.template │ │ │ │ ├── modules/ │ │ │ │ │ └── {{MODULE_NAME}}/ │ │ │ │ │ ├── BUILD.bazel.template │ │ │ │ │ └── src/ │ │ │ │ │ └── App.tsx │ │ │ │ └── package.json │ │ │ └── modules/ │ │ │ ├── polyglot_bridge_module/ │ │ │ │ ├── BUILD.bazel.template │ │ │ │ ├── android/ │ │ │ │ │ └── CalculatorModuleFactory.kt.template │ │ │ │ ├── ios/ │ │ │ │ │ └── SCCCalculatorModuleFactory.m.template │ │ │ │ ├── src/ │ │ │ │ │ └── Calculator.d.ts │ │ │ │ └── web/ │ │ │ │ ├── Calculator.ts │ │ │ │ └── tsconfig.json │ │ │ ├── polyglot_view_module/ │ │ │ │ ├── BUILD.bazel.template │ │ │ │ ├── android/ │ │ │ │ │ ├── PolyglotNativeView.kt.template │ │ │ │ │ └── PolyglotNativeViewAttributesBinder.kt.template │ │ │ │ ├── ios/ │ │ │ │ │ ├── SCPolyglotView.h │ │ │ │ │ └── SCPolyglotView.m │ │ │ │ ├── macos/ │ │ │ │ │ ├── SCPolyglotView.h │ │ │ │ │ └── SCPolyglotView.m │ │ │ │ ├── src/ │ │ │ │ │ └── PolyglotCustomView.tsx.template │ │ │ │ └── web/ │ │ │ │ ├── PolyglotWeb.ts.template │ │ │ │ └── tsconfig.json │ │ │ └── ui_component/ │ │ │ ├── BUILD.bazel.template │ │ │ └── src/ │ │ │ └── NewModuleComponent.tsx │ │ ├── .config/ │ │ │ └── copyconfig.json │ │ ├── .editorconfig │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .github/ │ │ │ └── README.md │ │ ├── .gitignore │ │ ├── .metadata/ │ │ │ ├── .bazelrc.template │ │ │ ├── .bazelversion.template │ │ │ ├── .editorconfig.template │ │ │ ├── .eslintrc.js.template │ │ │ ├── .gitignore.template │ │ │ ├── .prettierrc.json.template │ │ │ ├── .watchmanconfig.template │ │ │ ├── AGENTS.md.template │ │ │ ├── README.md.template │ │ │ ├── WORKSPACE.template │ │ │ ├── config.yaml.template │ │ │ ├── package.json.template │ │ │ ├── skill-reference.tsx.template │ │ │ ├── skill-tests-BUILD.bazel.template │ │ │ ├── skill-tests-README.md.template │ │ │ └── skill.md.template │ │ ├── .prettierignore │ │ ├── .prettierrc.json │ │ ├── LINUX_COMPATIBILITY.md │ │ ├── README.md │ │ ├── package.json │ │ ├── prettier.config.js │ │ ├── scripts/ │ │ │ ├── bundle-skills.js │ │ │ ├── sync-agents-md.sh │ │ │ └── update-agents-templates.ts │ │ ├── spec/ │ │ │ └── support/ │ │ │ └── jasmine.json │ │ ├── src/ │ │ │ ├── commands/ │ │ │ │ ├── bootstrap.ts │ │ │ │ ├── build.ts │ │ │ │ ├── devSetup.ts │ │ │ │ ├── doctor.ts │ │ │ │ ├── export.ts │ │ │ │ ├── hotreload.ts │ │ │ │ ├── install.ts │ │ │ │ ├── lint.ts │ │ │ │ ├── lint_commands/ │ │ │ │ │ ├── lintCheck.ts │ │ │ │ │ └── lintFormat.ts │ │ │ │ ├── log.ts │ │ │ │ ├── newModule.ts │ │ │ │ ├── package.ts │ │ │ │ ├── projectsync.ts │ │ │ │ ├── skills.ts │ │ │ │ ├── skills_commands/ │ │ │ │ │ ├── create.ts │ │ │ │ │ ├── install.ts │ │ │ │ │ ├── list.ts │ │ │ │ │ ├── remove.ts │ │ │ │ │ └── update.ts │ │ │ │ └── test.ts │ │ │ ├── core/ │ │ │ │ ├── constants.ts │ │ │ │ └── errors.ts │ │ │ ├── index.ts │ │ │ ├── setup/ │ │ │ │ ├── DevSetupHelper.ts │ │ │ │ ├── linuxSetup.ts │ │ │ │ ├── macOSSetup.ts │ │ │ │ ├── setupEntryPoint.ts │ │ │ │ └── versions.ts │ │ │ └── utils/ │ │ │ ├── ArgumentsResolver.ts │ │ │ ├── BazelClient.ts │ │ │ ├── Digraph.ts │ │ │ ├── LoadingIndicator.ts │ │ │ ├── applicationUtils.ts │ │ │ ├── buildInfo.ts │ │ │ ├── byString.ts │ │ │ ├── cliUtils.ts │ │ │ ├── copyBootstrapFiles.ts │ │ │ ├── deviceUtils.ts │ │ │ ├── errorUtils.ts │ │ │ ├── fileUtils.ts │ │ │ ├── githubUtils.ts │ │ │ ├── jsonUtils.ts │ │ │ ├── lintUtils.ts │ │ │ ├── linuxDistro.spec.ts │ │ │ ├── linuxDistro.ts │ │ │ ├── logUtils.ts │ │ │ ├── pathUtils.ts │ │ │ ├── skillsAdapters.ts │ │ │ ├── skillsRegistry.ts │ │ │ ├── stringUtils.spec.ts │ │ │ ├── stringUtils.ts │ │ │ ├── tempDir.ts │ │ │ └── zipUtils.ts │ │ ├── test/ │ │ │ ├── ValdiSmokeTest.ts │ │ │ └── helpers/ │ │ │ ├── AsyncHelpers.ts │ │ │ ├── CommandHelpers.ts │ │ │ ├── ProjectHelpers.ts │ │ │ ├── StreamHelpers.ts │ │ │ └── TypeScriptClient.ts │ │ ├── tsconfig.dist.json │ │ └── tsconfig.json │ └── eslint-plugin-valdi/ │ ├── .gitignore │ ├── package.json │ ├── src/ │ │ ├── index.ts │ │ └── rules/ │ │ ├── assign-timer-id.ts │ │ ├── attributed-text-no-array-assignment.ts │ │ ├── jsx-no-lambda.ts │ │ ├── mutate-state-without-set-state.ts │ │ ├── no-declare-test-without-describe.ts │ │ ├── no-implicit-index-import.ts │ │ ├── no-import-from-test-outside-test-dir.ts │ │ ├── no-react-patterns.ts │ │ └── only-const-enum.ts │ ├── tests/ │ │ └── mocha-setup.mjs │ └── tsconfig.json ├── package.json ├── scripts/ │ ├── config_setup.sh │ ├── dev_setup.sh │ ├── linux_deps_setup.sh │ ├── linux_dev_setup.sh │ ├── mac_deps_setup.sh │ ├── macos_dev_setup.sh │ ├── npm_setup.sh │ ├── premerge_check.sh │ ├── verify_not_rosetta.sh │ └── vscode/ │ ├── install_extensions.sh │ ├── valdi-debug.vsix │ └── valdi-vivaldi.vsix ├── snap_drawing/ │ ├── BUILD.bazel │ ├── README.md │ ├── scripts/ │ │ └── run_benchmark.sh │ ├── src/ │ │ ├── benchmark/ │ │ │ └── main.cpp │ │ ├── demo/ │ │ │ ├── SnapDrawingDemo.mm │ │ │ ├── SnapDrawingVideoEncoder.h │ │ │ └── SnapDrawingVideoEncoder.mm │ │ └── snap_drawing/ │ │ ├── android/ │ │ │ ├── AndroidFrameScheduler.cpp │ │ │ └── AndroidFrameScheduler.hpp │ │ ├── apple/ │ │ │ ├── CoreGraphicsUtils.cpp │ │ │ ├── CoreGraphicsUtils.hpp │ │ │ ├── Drawing/ │ │ │ │ ├── BaseDisplayLinkFrameScheduler.cpp │ │ │ │ ├── BaseDisplayLinkFrameScheduler.hpp │ │ │ │ ├── CADisplayLinkFrameScheduler.h │ │ │ │ ├── CADisplayLinkFrameScheduler.mm │ │ │ │ ├── CVDisplayLinkFrameScheduler.cpp │ │ │ │ └── CVDisplayLinkFrameScheduler.hpp │ │ │ ├── MetalGraphicsContext.mm │ │ │ ├── MetalSurfacePresenterManager.h │ │ │ └── MetalSurfacePresenterManager.mm │ │ └── cpp/ │ │ ├── Animations/ │ │ │ ├── Animation.cpp │ │ │ ├── Animation.hpp │ │ │ ├── InterpolationFunction.cpp │ │ │ ├── InterpolationFunction.hpp │ │ │ ├── SpringAnimation.cpp │ │ │ ├── SpringAnimation.hpp │ │ │ ├── SpringForce.cpp │ │ │ ├── SpringForce.hpp │ │ │ ├── ValueInterpolators.cpp │ │ │ ├── ValueInterpolators.hpp │ │ │ ├── ViscousFluidInterpolator.cpp │ │ │ ├── ViscousFluidInterpolator.hpp │ │ │ └── bezier.hpp │ │ ├── Drawing/ │ │ │ ├── BlendMode.cpp │ │ │ ├── BlendMode.hpp │ │ │ ├── BoxShadow.cpp │ │ │ ├── BoxShadow.hpp │ │ │ ├── Composition/ │ │ │ │ ├── CompositionState.cpp │ │ │ │ ├── CompositionState.hpp │ │ │ │ ├── Compositor.cpp │ │ │ │ ├── Compositor.hpp │ │ │ │ ├── CompositorPlane.cpp │ │ │ │ ├── CompositorPlane.hpp │ │ │ │ ├── CompositorPlaneList.cpp │ │ │ │ ├── CompositorPlaneList.hpp │ │ │ │ ├── ResolvedPlane.cpp │ │ │ │ └── ResolvedPlane.hpp │ │ │ ├── DisplayList/ │ │ │ │ ├── CleanUpDisplayListVisitor.cpp │ │ │ │ ├── CleanUpDisplayListVisitor.hpp │ │ │ │ ├── DebugJSONDisplayListVisitor.cpp │ │ │ │ ├── DebugJSONDisplayListVisitor.hpp │ │ │ │ ├── DisplayList.cpp │ │ │ │ ├── DisplayList.hpp │ │ │ │ ├── DisplayListOperations.cpp │ │ │ │ ├── DisplayListOperations.hpp │ │ │ │ ├── DrawDisplayListVisitor.cpp │ │ │ │ └── DrawDisplayListVisitor.hpp │ │ │ ├── DrawLooper.cpp │ │ │ ├── DrawLooper.hpp │ │ │ ├── DrawLooperEntry.cpp │ │ │ ├── DrawLooperEntry.hpp │ │ │ ├── DrawOperation.cpp │ │ │ ├── DrawOperation.hpp │ │ │ ├── DrawingContext.cpp │ │ │ ├── DrawingContext.hpp │ │ │ ├── GraphicsContext/ │ │ │ │ ├── ANativeWindowGraphicsContext.cpp │ │ │ │ ├── ANativeWindowGraphicsContext.hpp │ │ │ │ ├── BitmapGraphicsContext.cpp │ │ │ │ ├── BitmapGraphicsContext.hpp │ │ │ │ ├── EGLUtils.cpp │ │ │ │ ├── EGLUtils.hpp │ │ │ │ ├── GLGraphicsContext.cpp │ │ │ │ ├── GLGraphicsContext.hpp │ │ │ │ ├── GrGraphicsContext.cpp │ │ │ │ ├── GrGraphicsContext.hpp │ │ │ │ ├── GraphicsContext.cpp │ │ │ │ ├── GraphicsContext.hpp │ │ │ │ ├── IShaderCache.hpp │ │ │ │ ├── MetalGraphicsContext.cpp │ │ │ │ └── MetalGraphicsContext.hpp │ │ │ ├── IFrameScheduler.hpp │ │ │ ├── LayerContent.cpp │ │ │ ├── LayerContent.hpp │ │ │ ├── LinearGradient.cpp │ │ │ ├── LinearGradient.hpp │ │ │ ├── Mask/ │ │ │ │ ├── CompositeMask.cpp │ │ │ │ ├── CompositeMask.hpp │ │ │ │ ├── IMask.hpp │ │ │ │ ├── PaintMask.cpp │ │ │ │ └── PaintMask.hpp │ │ │ ├── MaskFilter.cpp │ │ │ ├── MaskFilter.hpp │ │ │ ├── Paint.cpp │ │ │ ├── Paint.hpp │ │ │ ├── RadialGradient.cpp │ │ │ ├── RadialGradient.hpp │ │ │ ├── Raster/ │ │ │ │ ├── BitmapCache.cpp │ │ │ │ ├── BitmapCache.hpp │ │ │ │ ├── RasterContext.cpp │ │ │ │ ├── RasterContext.hpp │ │ │ │ ├── RasterDamageResolver.cpp │ │ │ │ └── RasterDamageResolver.hpp │ │ │ ├── Shader.cpp │ │ │ ├── Shader.hpp │ │ │ └── Surface/ │ │ │ ├── DrawableSurface.cpp │ │ │ ├── DrawableSurface.hpp │ │ │ ├── DrawableSurfaceCanvas.cpp │ │ │ ├── DrawableSurfaceCanvas.hpp │ │ │ ├── ExternalSurface.cpp │ │ │ ├── ExternalSurface.hpp │ │ │ ├── ExternalSurfacePresenterState.cpp │ │ │ ├── ExternalSurfacePresenterState.hpp │ │ │ ├── Surface.cpp │ │ │ ├── Surface.hpp │ │ │ ├── SurfacePresenter.cpp │ │ │ ├── SurfacePresenter.hpp │ │ │ ├── SurfacePresenterList.cpp │ │ │ ├── SurfacePresenterList.hpp │ │ │ ├── SurfacePresenterManager.cpp │ │ │ └── SurfacePresenterManager.hpp │ │ ├── Events/ │ │ │ ├── Event.cpp │ │ │ ├── Event.hpp │ │ │ ├── EventCallback.hpp │ │ │ ├── EventId.hpp │ │ │ ├── EventQueue.cpp │ │ │ └── EventQueue.hpp │ │ ├── Layers/ │ │ │ ├── AnimatedImageLayer.cpp │ │ │ ├── AnimatedImageLayer.hpp │ │ │ ├── ButtonLayer.cpp │ │ │ ├── ButtonLayer.hpp │ │ │ ├── ExternalLayer.cpp │ │ │ ├── ExternalLayer.hpp │ │ │ ├── FlexboxLayer.cpp │ │ │ ├── FlexboxLayer.hpp │ │ │ ├── ImageLayer.cpp │ │ │ ├── ImageLayer.hpp │ │ │ ├── Interfaces/ │ │ │ │ ├── ILayer.hpp │ │ │ │ ├── ILayerRoot.hpp │ │ │ │ └── ILoadedAssetLayer.hpp │ │ │ ├── Layer.cpp │ │ │ ├── Layer.hpp │ │ │ ├── LayerRoot.cpp │ │ │ ├── LayerRoot.hpp │ │ │ ├── Mask/ │ │ │ │ ├── GradientMaskLayer.cpp │ │ │ │ ├── GradientMaskLayer.hpp │ │ │ │ ├── IMaskLayer.hpp │ │ │ │ ├── PaintMaskLayer.cpp │ │ │ │ ├── PaintMaskLayer.hpp │ │ │ │ ├── ScrollLayerFadingEdgesMaskLayer.cpp │ │ │ │ └── ScrollLayerFadingEdgesMaskLayer.hpp │ │ │ ├── Scroll/ │ │ │ │ ├── AndroidScroller.cpp │ │ │ │ ├── AndroidScroller.hpp │ │ │ │ ├── BaseScrollLayerAnimation.cpp │ │ │ │ ├── BaseScrollLayerAnimation.hpp │ │ │ │ ├── IOSScroller.cpp │ │ │ │ ├── IOSScroller.hpp │ │ │ │ ├── IScroller.hpp │ │ │ │ ├── SplineScrollPhysics.cpp │ │ │ │ ├── SplineScrollPhysics.hpp │ │ │ │ ├── SpringFlingScrollLayerAnimation.cpp │ │ │ │ ├── SpringFlingScrollLayerAnimation.hpp │ │ │ │ ├── SpringScrollPhysics.cpp │ │ │ │ └── SpringScrollPhysics.hpp │ │ │ ├── ScrollLayer.cpp │ │ │ ├── ScrollLayer.hpp │ │ │ ├── ShapeLayer.cpp │ │ │ ├── ShapeLayer.hpp │ │ │ ├── SpinnerLayer.cpp │ │ │ ├── SpinnerLayer.hpp │ │ │ ├── TextLayer.cpp │ │ │ ├── TextLayer.hpp │ │ │ ├── VideoLayer.cpp │ │ │ └── VideoLayer.hpp │ │ ├── Resources.cpp │ │ ├── Resources.hpp │ │ ├── Text/ │ │ │ ├── AttributedText.cpp │ │ │ ├── AttributedText.hpp │ │ │ ├── Character.hpp │ │ │ ├── CharactersIterator.hpp │ │ │ ├── Font.cpp │ │ │ ├── Font.hpp │ │ │ ├── FontFamily.cpp │ │ │ ├── FontFamily.hpp │ │ │ ├── FontFamilyWithLoadableTypefaces.cpp │ │ │ ├── FontFamilyWithLoadableTypefaces.hpp │ │ │ ├── FontFamilyWithStyleSet.cpp │ │ │ ├── FontFamilyWithStyleSet.hpp │ │ │ ├── FontManager.cpp │ │ │ ├── FontManager.hpp │ │ │ ├── FontMetrics.hpp │ │ │ ├── FontStyle.cpp │ │ │ ├── FontStyle.hpp │ │ │ ├── Harfbuzz.cpp │ │ │ ├── Harfbuzz.hpp │ │ │ ├── IFontManager.cpp │ │ │ ├── IFontManager.hpp │ │ │ ├── LoadableTypeface.cpp │ │ │ ├── LoadableTypeface.hpp │ │ │ ├── SkFontMgrSingleton.cpp │ │ │ ├── SkFontMgrSingleton.hpp │ │ │ ├── TextLayout.cpp │ │ │ ├── TextLayout.hpp │ │ │ ├── TextLayoutBuilder.cpp │ │ │ ├── TextLayoutBuilder.hpp │ │ │ ├── TextShaper.cpp │ │ │ ├── TextShaper.hpp │ │ │ ├── TextShaperCache.cpp │ │ │ ├── TextShaperCache.hpp │ │ │ ├── TextShaperHarfbuzz.cpp │ │ │ ├── TextShaperHarfbuzz.hpp │ │ │ ├── Typeface.cpp │ │ │ ├── Typeface.hpp │ │ │ ├── TypefaceRegistry.cpp │ │ │ ├── TypefaceRegistry.hpp │ │ │ ├── Unicode.cpp │ │ │ ├── Unicode.hpp │ │ │ ├── WordCachingTextShaper.cpp │ │ │ └── WordCachingTextShaper.hpp │ │ ├── Touches/ │ │ │ ├── AttributedTextOnTapGestureRecognizer.cpp │ │ │ ├── AttributedTextOnTapGestureRecognizer.hpp │ │ │ ├── DoubleTapGestureRecognizer.cpp │ │ │ ├── DoubleTapGestureRecognizer.hpp │ │ │ ├── DragGestureRecognizer.cpp │ │ │ ├── DragGestureRecognizer.hpp │ │ │ ├── GestureRecognizer.cpp │ │ │ ├── GestureRecognizer.hpp │ │ │ ├── GesturesConfiguration.cpp │ │ │ ├── GesturesConfiguration.hpp │ │ │ ├── LongPressGestureRecognizer.cpp │ │ │ ├── LongPressGestureRecognizer.hpp │ │ │ ├── MoveGestureRecognizer.cpp │ │ │ ├── MoveGestureRecognizer.hpp │ │ │ ├── PinchGestureRecognizer.cpp │ │ │ ├── PinchGestureRecognizer.hpp │ │ │ ├── RotateGestureRecognizer.cpp │ │ │ ├── RotateGestureRecognizer.hpp │ │ │ ├── ScrollGestureRecognizer.cpp │ │ │ ├── ScrollGestureRecognizer.hpp │ │ │ ├── SingleTapGestureRecognizer.cpp │ │ │ ├── SingleTapGestureRecognizer.hpp │ │ │ ├── TapGestureRecognizer.cpp │ │ │ ├── TapGestureRecognizer.hpp │ │ │ ├── TouchDispatcher.cpp │ │ │ ├── TouchDispatcher.hpp │ │ │ ├── TouchEvent.cpp │ │ │ ├── TouchEvent.hpp │ │ │ ├── TouchGestureRecognizer.cpp │ │ │ ├── TouchGestureRecognizer.hpp │ │ │ ├── WheelGestureRecognizer.cpp │ │ │ └── WheelGestureRecognizer.hpp │ │ └── Utils/ │ │ ├── Aliases.hpp │ │ ├── AnimatedImage.cpp │ │ ├── AnimatedImage.hpp │ │ ├── Bitmap.cpp │ │ ├── Bitmap.hpp │ │ ├── BitmapFactory.cpp │ │ ├── BitmapFactory.hpp │ │ ├── BitmapUtils.cpp │ │ ├── BitmapUtils.hpp │ │ ├── BorderRadius.cpp │ │ ├── BorderRadius.hpp │ │ ├── BoundingBoxHierarchy.cpp │ │ ├── BoundingBoxHierarchy.hpp │ │ ├── BytesUtils.cpp │ │ ├── BytesUtils.hpp │ │ ├── Color.cpp │ │ ├── Color.hpp │ │ ├── Duration.hpp │ │ ├── Geometry.cpp │ │ ├── Geometry.hpp │ │ ├── GradientWrapper.cpp │ │ ├── GradientWrapper.hpp │ │ ├── Image.cpp │ │ ├── Image.hpp │ │ ├── ImageQueue.cpp │ │ ├── ImageQueue.hpp │ │ ├── JSONUtils.cpp │ │ ├── JSONUtils.hpp │ │ ├── LazyPath.cpp │ │ ├── LazyPath.hpp │ │ ├── LottieAnimatedImage.cpp │ │ ├── LottieAnimatedImage.hpp │ │ ├── Matrix.cpp │ │ ├── Matrix.hpp │ │ ├── Path.cpp │ │ ├── Path.hpp │ │ ├── PathInterpolator.cpp │ │ ├── PathInterpolator.hpp │ │ ├── SafeContainer.cpp │ │ ├── SafeContainer.hpp │ │ ├── Scalar.cpp │ │ ├── Scalar.hpp │ │ ├── SkCodecAnimatedImage.cpp │ │ ├── SkCodecAnimatedImage.hpp │ │ ├── SkiaBridge.cpp │ │ ├── SkiaBridge.hpp │ │ ├── TimePoint.hpp │ │ ├── UTFUtils.cpp │ │ ├── UTFUtils.hpp │ │ ├── VelocityTracker.cpp │ │ └── VelocityTracker.hpp │ ├── test/ │ │ ├── src/ │ │ │ ├── Compositor_Tests.cpp │ │ │ ├── DisplayList_Tests.cpp │ │ │ ├── DoubleTapGestureRecognizer_tests.cpp │ │ │ ├── DragGestureRecognizer_tests.cpp │ │ │ ├── DrawLooper_Tests.cpp │ │ │ ├── FlexboxLayer_tests.cpp │ │ │ ├── ImageBitmap_tests.cpp │ │ │ ├── ImageQueue_tests.cpp │ │ │ ├── Interpolator_Tests.cpp │ │ │ ├── Layer_tests.cpp │ │ │ ├── LongPressGestureRecognizer_tests.cpp │ │ │ ├── LottieLayer_tests.cpp │ │ │ ├── PinchGestureRecognizer_tests.cpp │ │ │ ├── RasterContext_tests.cpp │ │ │ ├── RasterDamageResolver_tests.cpp │ │ │ ├── RotateGestureRecognizer_tests.cpp │ │ │ ├── ScrollLayer_test.cpp │ │ │ ├── SingleTapGestureRecognizer_tests.cpp │ │ │ ├── TextLayout_Tests.cpp │ │ │ ├── TextShaperCache_tests.cpp │ │ │ ├── TouchDispatcher_tests.cpp │ │ │ ├── TouchGestureRecognizer_tests.cpp │ │ │ ├── VideoLayer_tests.cpp │ │ │ ├── WheelGestureRecognizer_tests.cpp │ │ │ └── WordCachingTextShaper_tests.cpp │ │ └── utils/ │ │ ├── DisplayListBuilder.cpp │ │ ├── DisplayListBuilder.hpp │ │ ├── TestBitmap.cpp │ │ ├── TestBitmap.hpp │ │ ├── TestDataUtils.cpp │ │ ├── TestDataUtils.hpp │ │ ├── TestGestureUtils.cpp │ │ └── TestGestureUtils.hpp │ └── testdata/ │ └── lottie_loading.json ├── src/ │ ├── BUILD.bazel │ ├── platform-projects/ │ │ └── android/ │ │ ├── android_exports.lst │ │ ├── build_id_note_symbols.ld │ │ ├── client/ │ │ │ ├── .gitignore │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── res/ │ │ │ └── values/ │ │ │ └── strings.xml │ │ └── dummy/ │ │ ├── .gitignore │ │ ├── prepare_compressed_library.sh │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── res/ │ │ └── values/ │ │ └── strings.xml │ └── valdi_modules/ │ ├── .prettierrc.json │ └── src/ │ ├── cpp/ │ │ └── valdi_http/ │ │ ├── BUILD.bazel │ │ ├── HTTPRequestManagerModuleFactory.cpp │ │ └── HTTPRequestManagerModuleFactory.hpp │ └── valdi/ │ ├── _configs/ │ │ ├── BUILD.bazel │ │ ├── base.tsconfig.json │ │ └── eslint.tsconfig.json │ ├── bridge_observables/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── types/ │ │ │ │ ├── BridgeError.d.ts │ │ │ │ ├── BridgeObservable.ts │ │ │ │ ├── BridgeObserver.d.ts │ │ │ │ ├── BridgeObserverEvent.d.ts │ │ │ │ └── BridgeSubject.d.ts │ │ │ └── utils/ │ │ │ ├── convertBridgeObservableToObservable.ts │ │ │ ├── convertBridgeObserverToObserver.ts │ │ │ ├── convertBridgeSubjectToObservable.ts │ │ │ ├── convertBridgeSubjectToObserver.ts │ │ │ ├── convertBridgeSubjectToSubject.ts │ │ │ ├── convertObservableToBridgeObservable.ts │ │ │ ├── convertObserverToBridgeObserver.ts │ │ │ ├── convertSubjectToBridgeSubject.ts │ │ │ ├── converter.ts │ │ │ └── optional/ │ │ │ ├── convertOptionalBridgeObservableToObservable.ts │ │ │ └── convertOptionalBridgeSubjectToObservable.ts │ │ └── tsconfig.json │ ├── coreutils/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── ArrayUtils.ts │ │ │ ├── Base64.ts │ │ │ ├── LRUCache.ts │ │ │ ├── Range.ts │ │ │ ├── RuntimeBase.d.ts │ │ │ ├── SerialTaskQueue.ts │ │ │ ├── StringMap.d.ts │ │ │ ├── StringSet.d.ts │ │ │ ├── Uint8ArrayUtils.ts │ │ │ ├── dummy.ts │ │ │ ├── md5.ts │ │ │ ├── unicode/ │ │ │ │ ├── TextCoding.ts │ │ │ │ ├── UnicodeNative.d.ts │ │ │ │ └── UnicodeString.ts │ │ │ ├── url.ts │ │ │ └── uuidUtils.ts │ │ ├── test/ │ │ │ ├── Base64.spec.ts │ │ │ ├── LRUCache.spec.ts │ │ │ ├── TextCoding.spec.ts │ │ │ ├── UnicodeString.spec.ts │ │ │ ├── md5.spec.ts │ │ │ ├── urls.spec.ts │ │ │ └── uuidUtils.spec.ts │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── UnicodeNative.ts │ │ └── tsconfig.json │ ├── drawing/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── AttributedTextNative.d.ts │ │ │ ├── BitmapFactory.ts │ │ │ ├── BitmapNative.d.ts │ │ │ ├── Drawing.ts │ │ │ ├── DrawingModuleProvider.d.ts │ │ │ ├── FontManager.ts │ │ │ ├── FontManagerNative.d.ts │ │ │ ├── IBitmap.d.ts │ │ │ ├── IManagedContext.d.ts │ │ │ ├── INativeBitmap.d.ts │ │ │ ├── ManagedContextAssetTracker.ts │ │ │ ├── ManagedContextFactory.ts │ │ │ └── ManagedContextNative.d.ts │ │ ├── test/ │ │ │ ├── ManagedContextAssetTracker.spec.ts │ │ │ └── ManagedContextFactory.spec.tsx │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── BitmapNative.ts │ │ ├── DrawingModuleProvider.ts │ │ ├── FontManagerNative.ts │ │ ├── ManagedContextNative.ts │ │ └── tsconfig.json │ ├── file_system/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── FileSystem.ts │ │ │ └── FileSystemModule.d.ts │ │ ├── test/ │ │ │ ├── FileSystem.spec.ts │ │ │ └── test_file.txt │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── FileSystem.ts │ │ └── tsconfig.json │ ├── foundation/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── Announcer.ts │ │ │ ├── CachedFunctionCall.ts │ │ │ ├── Debounce.ts │ │ │ ├── DebounceBatch.ts │ │ │ ├── DebounceReorder.ts │ │ │ ├── DeferredPromise.ts │ │ │ ├── Error.d.ts │ │ │ ├── ICancelable.d.ts │ │ │ ├── IDisposable.d.ts │ │ │ ├── KeyedFunctionCache.ts │ │ │ ├── Lazy.ts │ │ │ ├── Long.ts │ │ │ ├── NativeViewUtils.ts │ │ │ ├── Provider.ts │ │ │ ├── Subscribable.ts │ │ │ ├── Subscription.d.ts │ │ │ ├── Timer.ts │ │ │ ├── UnreachableError.ts │ │ │ ├── array.ts │ │ │ ├── deepClone.ts │ │ │ ├── emoji.ts │ │ │ ├── equality.ts │ │ │ ├── foundation.ts │ │ │ ├── function.ts │ │ │ ├── functional/ │ │ │ │ ├── README.md │ │ │ │ ├── cacheResolved.ts │ │ │ │ ├── mapArguments.ts │ │ │ │ ├── mapResult.ts │ │ │ │ └── transformProperties.ts │ │ │ ├── impl/ │ │ │ │ ├── CallbackCancelable.ts │ │ │ │ ├── CallbackDisposable.ts │ │ │ │ └── CancelableGroup.ts │ │ │ ├── isDefined.ts │ │ │ ├── isUndefined.ts │ │ │ ├── makePropertiesOpaque.ts │ │ │ ├── map.ts │ │ │ ├── number.ts │ │ │ ├── object.ts │ │ │ ├── required.ts │ │ │ ├── runWith.ts │ │ │ ├── set.ts │ │ │ ├── shuffle.ts │ │ │ ├── staticImplements.ts │ │ │ ├── string.ts │ │ │ ├── time.ts │ │ │ ├── trace.ts │ │ │ ├── unicode.ts │ │ │ └── uuid.ts │ │ ├── test/ │ │ │ ├── DeferredPromise.spec.ts │ │ │ ├── KeyedFunctionCache.spec.ts │ │ │ ├── deepClone.spec.ts │ │ │ ├── functional/ │ │ │ │ ├── cacheResolved.spec.ts │ │ │ │ ├── mapArguments.spec.ts │ │ │ │ ├── mapResult.spec.ts │ │ │ │ └── transformProperties.spec.ts │ │ │ ├── isDefinedTest.ts │ │ │ ├── multiInsertTest.ts │ │ │ ├── required.spec.ts │ │ │ ├── runWith.spec.ts │ │ │ ├── stringTest.ts │ │ │ └── util/ │ │ │ ├── ExplorerVirtualNode.ts │ │ │ ├── ReproducibleGenerator.ts │ │ │ ├── componentGetChildren.ts │ │ │ ├── componentGetElements.ts │ │ │ ├── componentGetKey.ts │ │ │ ├── componentGetVirtualNode.ts │ │ │ ├── componentGlobFind.ts │ │ │ ├── componentKeyFind.ts │ │ │ ├── componentTreeDump.ts │ │ │ ├── componentTypeFind.ts │ │ │ ├── consoleColor.ts │ │ │ ├── elementGlobFind.ts │ │ │ ├── elementKeyFind.ts │ │ │ ├── elementTreeDump.ts │ │ │ ├── elementTypeFind.ts │ │ │ ├── findNodeWithKey.ts │ │ │ ├── getAttributeFromNode.ts │ │ │ ├── getIsUnderNode.ts │ │ │ ├── globToRegex.ts │ │ │ ├── isRenderedElement.ts │ │ │ ├── lib/ │ │ │ │ └── faker.js │ │ │ ├── mockFlushable.ts │ │ │ ├── mockFlushableWithData.ts │ │ │ ├── mockFlushableWithDataAndError.ts │ │ │ ├── mockObject.ts │ │ │ ├── mockObjectWithSpy.ts │ │ │ ├── tapNodeWithKey.ts │ │ │ ├── typeInTextFieldWithKey.ts │ │ │ ├── untilNextRenderComplete.ts │ │ │ ├── untilRenderComplete.ts │ │ │ ├── virtualNodeGetKey.ts │ │ │ ├── virtualNodeTreeDump.ts │ │ │ ├── waitFor.ts │ │ │ └── waitForNodeWithKey.ts │ │ └── tsconfig.json │ ├── jasmine/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── package.json │ │ ├── src/ │ │ │ ├── boot.js │ │ │ ├── console_reporter.js │ │ │ ├── jasmine-reporters/ │ │ │ │ └── junit_reporter.js │ │ │ ├── jasmine.d.ts │ │ │ ├── jasmine.js │ │ │ └── origin_boot.js │ │ └── tsconfig.json │ ├── persistence/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── PersistentStore.ts │ │ │ └── PersistentStoreNative.d.ts │ │ ├── test/ │ │ │ └── PersistentStoreTest.ts │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── PersistentStoreNative.ts │ │ └── tsconfig.json │ ├── source_map/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── ISourceMap.d.ts │ │ │ ├── SourceMap.ts │ │ │ ├── StackSymbolicator.ts │ │ │ └── VLQ.ts │ │ ├── test/ │ │ │ ├── SourceMap.spec.ts │ │ │ └── SourceMapExample.ts │ │ └── tsconfig.json │ ├── tsconfig.json │ ├── types/ │ │ ├── BUILD.bazel │ │ ├── Long.d.ts │ │ └── globals.d.ts │ ├── valdi_core/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AnimationOptions.ts │ │ │ ├── Any.d.ts │ │ │ ├── AnyRenderFunction.d.ts │ │ │ ├── Application.ts │ │ │ ├── ApplicationBridge.d.ts │ │ │ ├── Asset.ts │ │ │ ├── AssetCatalog.ts │ │ │ ├── BugReporter.ts │ │ │ ├── BuildType.ts │ │ │ ├── CSSModule.ts │ │ │ ├── CancelablePromise.ts │ │ │ ├── CancellableAnimation.d.ts │ │ │ ├── CancellableAnimationPromise.ts │ │ │ ├── CapturedNode.ts │ │ │ ├── CompilerIntrinsics.ts │ │ │ ├── Component.ts │ │ │ ├── ComponentKey.d.ts │ │ │ ├── ComponentPath.ts │ │ │ ├── ComponentPrototype.ts │ │ │ ├── ComponentRef.ts │ │ │ ├── Console.ts │ │ │ ├── ConsoleRepresentable.d.ts │ │ │ ├── Device.ts │ │ │ ├── DeviceBridge.d.ts │ │ │ ├── ElementModifier.tsx │ │ │ ├── ElementRef.ts │ │ │ ├── EntryPointComponent.tsx │ │ │ ├── EntryPointRenderFunction.d.ts │ │ │ ├── EntryPointViewModel.d.ts │ │ │ ├── FunctionComponent.tsx │ │ │ ├── GeometricPath.ts │ │ │ ├── Geometry.d.ts │ │ │ ├── IComponent.d.ts │ │ │ ├── IComponentRenderObserver.d.ts │ │ │ ├── IEntryPointComponent.d.ts │ │ │ ├── IModuleLoader.d.ts │ │ │ ├── IRenderedElement.d.ts │ │ │ ├── IRenderedElementApplier.d.ts │ │ │ ├── IRenderedVirtualNode.d.ts │ │ │ ├── IRenderedVirtualNodeData.ts │ │ │ ├── IRenderer.ts │ │ │ ├── IRendererDelegate.d.ts │ │ │ ├── IRendererEventListener.ts │ │ │ ├── IRootComponentsManager.ts │ │ │ ├── IRootElementObserver.d.ts │ │ │ ├── IRuntimeIssueObserver.d.ts │ │ │ ├── Init.js │ │ │ ├── JSX.ts │ │ │ ├── JSXBootstrap.ts │ │ │ ├── JSXRendererDelegate.ts │ │ │ ├── Lazy.tsx │ │ │ ├── LocalizableStrings.ts │ │ │ ├── Long.js │ │ │ ├── ModuleLoader.ts │ │ │ ├── ModuleLoaderGlobal.ts │ │ │ ├── NativeReferences.ts │ │ │ ├── NodePrototype.ts │ │ │ ├── PostInit.ts │ │ │ ├── Promise.js │ │ │ ├── PromisePolyfill.ts │ │ │ ├── RenderRequest.d.ts │ │ │ ├── Renderer.ts │ │ │ ├── RendererFactory.d.ts │ │ │ ├── RootComponentsManager.ts │ │ │ ├── SchedulingPageComponent.ts │ │ │ ├── SetTimeout.ts │ │ │ ├── StringCache.ts │ │ │ ├── Strings.d.ts │ │ │ ├── Style.ts │ │ │ ├── SymbolicatedError.d.ts │ │ │ ├── Symbolicator.ts │ │ │ ├── SystemFont.ts │ │ │ ├── TsnHelper.ts │ │ │ ├── TypeConverter.d.ts │ │ │ ├── UncaughtErrorHandler.ts │ │ │ ├── Valdi.ts │ │ │ ├── ValdiRuntime.d.ts │ │ │ ├── WithLazyPromise.tsx │ │ │ ├── debugging/ │ │ │ │ ├── CustomMessageHandler.d.ts │ │ │ │ ├── DaemonClientManager.ts │ │ │ │ ├── DaemonClientManagerResolver.ts │ │ │ │ ├── DaemonClientRequests.d.ts │ │ │ │ ├── DebugConsole.tsx │ │ │ │ ├── DebugConsoleButton.tsx │ │ │ │ ├── DebugMessage.d.ts │ │ │ │ ├── DefaultErrorBoundary.tsx │ │ │ │ ├── ErrorComponent.tsx │ │ │ │ ├── ErrorViewModel.d.ts │ │ │ │ ├── Messages.ts │ │ │ │ ├── RendererEventRecorder.ts │ │ │ │ ├── RuntimeIssueDisplayer.tsx │ │ │ │ ├── Styles.ts │ │ │ │ └── VirtualNodePathDisplayer.tsx │ │ │ ├── localization/ │ │ │ │ ├── ExternalUnparsedLocalizableStringResolver.ts │ │ │ │ ├── IUnparsedLocalizableStringResolver.d.ts │ │ │ │ ├── InlineUnparsedLocalizableStringResolver.ts │ │ │ │ ├── Locale.ts │ │ │ │ ├── LocaleResolver.ts │ │ │ │ ├── LocalizableString.ts │ │ │ │ └── LocalizableStringsModule.ts │ │ │ ├── provider/ │ │ │ │ ├── GlobalProviderSource.ts │ │ │ │ ├── IProviderSource.d.ts │ │ │ │ ├── ProviderComponent.d.ts │ │ │ │ ├── ProviderKey.ts │ │ │ │ ├── ProviderSource.ts │ │ │ │ ├── WithGlobalProviderSource.tsx │ │ │ │ ├── createProvider.tsx │ │ │ │ ├── resolveProviderSource.ts │ │ │ │ ├── resolveProviderValue.ts │ │ │ │ └── withProviders.tsx │ │ │ ├── slot/ │ │ │ │ ├── DetachedSlot.ts │ │ │ │ └── DetachedSlotRenderer.tsx │ │ │ ├── tslib.d.ts │ │ │ ├── tslib.js │ │ │ ├── utility_types/ │ │ │ │ └── MergeType.d.ts │ │ │ └── utils/ │ │ │ ├── AttributedTextBuilder.ts │ │ │ ├── Buffer.ts │ │ │ ├── Callback.ts │ │ │ ├── CallbackInternal.ts │ │ │ ├── ClassNames.ts │ │ │ ├── CompilerError.ts │ │ │ ├── ComponentUtils.ts │ │ │ ├── EditTextUtils.ts │ │ │ ├── ErrorUtils.ts │ │ │ ├── FunctionUtils.ts │ │ │ ├── GeometricPathBuilder.ts │ │ │ ├── IdentifyableObject.ts │ │ │ ├── ImageFilter.ts │ │ │ ├── KeepAliveCallback.ts │ │ │ ├── LazyPromise.ts │ │ │ ├── NumberUtils.ts │ │ │ ├── OnIdle.ts │ │ │ ├── Optional.ts │ │ │ ├── PartialUtils.ts │ │ │ ├── PromiseUtils.ts │ │ │ ├── PropertyList.ts │ │ │ ├── PropertyListTest.ts │ │ │ ├── RenderedElementUtils.ts │ │ │ ├── RenderedVirtualNodeUtils.ts │ │ │ ├── RendererError.ts │ │ │ ├── Stopwatch.ts │ │ │ ├── StringUtils.ts │ │ │ ├── TestUtils.ts │ │ │ ├── TimeUtils.ts │ │ │ ├── Trace.ts │ │ │ ├── UuidUtils.ts │ │ │ ├── When.ts │ │ │ └── WithRequired.ts │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── ApplicationBridge.ts │ │ ├── DeviceBridge.ts │ │ ├── Strings.ts │ │ └── tsconfig.json │ ├── valdi_http/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── HTTPClient.ts │ │ │ ├── HTTPTypes.d.ts │ │ │ ├── IHTTPClient.d.ts │ │ │ └── NativeHTTPClient.d.ts │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── WebHTTPClient.ts │ │ └── tsconfig.json │ ├── valdi_image_generator/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ └── src/ │ │ ├── ImageGenerator.ts │ │ └── main.ts │ ├── valdi_navigation/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── INavigator.ts │ │ │ ├── NavigationComponent.ts │ │ │ ├── NavigationController.ts │ │ │ ├── NavigationPage.ts │ │ │ ├── NavigationPageComponent.ts │ │ │ ├── NavigationRoot.tsx │ │ │ └── NavigationView.tsx │ │ └── tsconfig.json │ ├── valdi_protobuf/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── package.json │ │ ├── proto/ │ │ │ ├── test.proto │ │ │ ├── test2.proto │ │ │ ├── test3.proto │ │ │ └── test4.proto │ │ ├── scripts/ │ │ │ └── generate_test_protos.py │ │ ├── src/ │ │ │ ├── Arena.ts │ │ │ ├── Descriptor.ts │ │ │ ├── FieldFactory.ts │ │ │ ├── Message.ts │ │ │ ├── ProtobufBuilder.ts │ │ │ ├── ValdiProtobuf.d.ts │ │ │ ├── ValdiProtobufModule.ts │ │ │ ├── types.d.ts │ │ │ └── utils/ │ │ │ └── misc.ts │ │ ├── test/ │ │ │ ├── Test.spec.ts │ │ │ ├── proto.d.ts │ │ │ ├── proto.js │ │ │ ├── proto.protodecl │ │ │ └── proto_config.yaml │ │ ├── tsconfig.json │ │ └── web/ │ │ ├── Message.ts │ │ ├── ValdiProtobuf.ts │ │ ├── headless/ │ │ │ ├── DescriptorDatabase.ts │ │ │ ├── FullyQualifiedName.ts │ │ │ ├── HeadlessValdiProtobufModule.ts │ │ │ ├── NamespaceGenerator.ts │ │ │ └── descriptor.ts │ │ ├── test/ │ │ │ ├── DescriptorDatabase.spec.ts │ │ │ ├── DescriptorDatabaseTestUtils.ts │ │ │ ├── NamespaceGenerator.spec.ts │ │ │ ├── README.md │ │ │ ├── extract_types.py │ │ │ ├── proto-types.d.ts │ │ │ ├── run_tests.js │ │ │ └── run_tests.sh │ │ └── tsconfig.json │ ├── valdi_rxjs/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── package.json │ │ ├── src/ │ │ │ ├── AnyCatcher.ts │ │ │ ├── AsyncSubject.ts │ │ │ ├── BehaviorSubject.ts │ │ │ ├── Notification.ts │ │ │ ├── NotificationFactories.ts │ │ │ ├── Observable.ts │ │ │ ├── Operator.ts │ │ │ ├── ReplaySubject.ts │ │ │ ├── Scheduler.ts │ │ │ ├── Subject.ts │ │ │ ├── Subscriber.ts │ │ │ ├── Subscription.ts │ │ │ ├── config.ts │ │ │ ├── firstValueFrom.ts │ │ │ ├── firstValueWhere.ts │ │ │ ├── index.ts │ │ │ ├── lastValueFrom.ts │ │ │ ├── observable/ │ │ │ │ ├── ConnectableObservable.ts │ │ │ │ ├── bindCallback.ts │ │ │ │ ├── bindCallbackInternals.ts │ │ │ │ ├── combineLatest.ts │ │ │ │ ├── concat.ts │ │ │ │ ├── connectable.ts │ │ │ │ ├── defer.ts │ │ │ │ ├── empty.ts │ │ │ │ ├── forkJoin.ts │ │ │ │ ├── from.ts │ │ │ │ ├── fromEvent.ts │ │ │ │ ├── fromEventPattern.ts │ │ │ │ ├── fromSubscribable.ts │ │ │ │ ├── generate.ts │ │ │ │ ├── iif.ts │ │ │ │ ├── innerFrom.ts │ │ │ │ ├── interval.ts │ │ │ │ ├── merge.ts │ │ │ │ ├── never.ts │ │ │ │ ├── of.ts │ │ │ │ ├── onErrorResumeNext.ts │ │ │ │ ├── pairs.ts │ │ │ │ ├── partition.ts │ │ │ │ ├── race.ts │ │ │ │ ├── range.ts │ │ │ │ ├── throwError.ts │ │ │ │ ├── timer.ts │ │ │ │ ├── using.ts │ │ │ │ └── zip.ts │ │ │ ├── operators/ │ │ │ │ ├── OperatorSubscriber.ts │ │ │ │ ├── audit.ts │ │ │ │ ├── auditTime.ts │ │ │ │ ├── buffer.ts │ │ │ │ ├── bufferCount.ts │ │ │ │ ├── bufferTime.ts │ │ │ │ ├── bufferToggle.ts │ │ │ │ ├── bufferWhen.ts │ │ │ │ ├── catchError.ts │ │ │ │ ├── combineAll.ts │ │ │ │ ├── combineLatest.ts │ │ │ │ ├── combineLatestAll.ts │ │ │ │ ├── combineLatestWith.ts │ │ │ │ ├── concat.ts │ │ │ │ ├── concatAll.ts │ │ │ │ ├── concatMap.ts │ │ │ │ ├── concatMapTo.ts │ │ │ │ ├── concatWith.ts │ │ │ │ ├── connect.ts │ │ │ │ ├── count.ts │ │ │ │ ├── debounce.ts │ │ │ │ ├── debounceTime.ts │ │ │ │ ├── defaultIfEmpty.ts │ │ │ │ ├── delay.ts │ │ │ │ ├── delayWhen.ts │ │ │ │ ├── dematerialize.ts │ │ │ │ ├── distinct.ts │ │ │ │ ├── distinctUntilChanged.ts │ │ │ │ ├── distinctUntilKeyChanged.ts │ │ │ │ ├── elementAt.ts │ │ │ │ ├── endWith.ts │ │ │ │ ├── every.ts │ │ │ │ ├── exhaust.ts │ │ │ │ ├── exhaustAll.ts │ │ │ │ ├── exhaustMap.ts │ │ │ │ ├── expand.ts │ │ │ │ ├── filter.ts │ │ │ │ ├── finalize.ts │ │ │ │ ├── find.ts │ │ │ │ ├── findIndex.ts │ │ │ │ ├── first.ts │ │ │ │ ├── flatMap.ts │ │ │ │ ├── groupBy.ts │ │ │ │ ├── ignoreElements.ts │ │ │ │ ├── isEmpty.ts │ │ │ │ ├── joinAllInternals.ts │ │ │ │ ├── last.ts │ │ │ │ ├── map.ts │ │ │ │ ├── mapTo.ts │ │ │ │ ├── materialize.ts │ │ │ │ ├── max.ts │ │ │ │ ├── merge.ts │ │ │ │ ├── mergeAll.ts │ │ │ │ ├── mergeInternals.ts │ │ │ │ ├── mergeMap.ts │ │ │ │ ├── mergeMapTo.ts │ │ │ │ ├── mergeScan.ts │ │ │ │ ├── mergeWith.ts │ │ │ │ ├── min.ts │ │ │ │ ├── multicast.ts │ │ │ │ ├── observeOn.ts │ │ │ │ ├── onErrorResumeNext.ts │ │ │ │ ├── pairwise.ts │ │ │ │ ├── partition.ts │ │ │ │ ├── pluck.ts │ │ │ │ ├── publish.ts │ │ │ │ ├── publishBehavior.ts │ │ │ │ ├── publishLast.ts │ │ │ │ ├── publishReplay.ts │ │ │ │ ├── race.ts │ │ │ │ ├── raceWith.ts │ │ │ │ ├── reduce.ts │ │ │ │ ├── refCount.ts │ │ │ │ ├── repeat.ts │ │ │ │ ├── repeatWhen.ts │ │ │ │ ├── retry.ts │ │ │ │ ├── retryWhen.ts │ │ │ │ ├── sample.ts │ │ │ │ ├── sampleTime.ts │ │ │ │ ├── scan.ts │ │ │ │ ├── scanInternals.ts │ │ │ │ ├── sequenceEqual.ts │ │ │ │ ├── share.ts │ │ │ │ ├── shareReplay.ts │ │ │ │ ├── single.ts │ │ │ │ ├── skip.ts │ │ │ │ ├── skipLast.ts │ │ │ │ ├── skipUntil.ts │ │ │ │ ├── skipWhile.ts │ │ │ │ ├── startWith.ts │ │ │ │ ├── subscribeOn.ts │ │ │ │ ├── switchAll.ts │ │ │ │ ├── switchMap.ts │ │ │ │ ├── switchMapTo.ts │ │ │ │ ├── switchScan.ts │ │ │ │ ├── take.ts │ │ │ │ ├── takeLast.ts │ │ │ │ ├── takeUntil.ts │ │ │ │ ├── takeWhile.ts │ │ │ │ ├── tap.ts │ │ │ │ ├── throttle.ts │ │ │ │ ├── throttleTime.ts │ │ │ │ ├── throwIfEmpty.ts │ │ │ │ ├── timeInterval.ts │ │ │ │ ├── timeout.ts │ │ │ │ ├── timeoutWith.ts │ │ │ │ ├── timestamp.ts │ │ │ │ ├── toArray.ts │ │ │ │ ├── window.ts │ │ │ │ ├── windowCount.ts │ │ │ │ ├── windowTime.ts │ │ │ │ ├── windowToggle.ts │ │ │ │ ├── windowWhen.ts │ │ │ │ ├── withLatestFrom.ts │ │ │ │ ├── zip.ts │ │ │ │ ├── zipAll.ts │ │ │ │ └── zipWith.ts │ │ │ ├── scheduled/ │ │ │ │ ├── scheduleArray.ts │ │ │ │ ├── scheduleAsyncIterable.ts │ │ │ │ ├── scheduleIterable.ts │ │ │ │ ├── scheduleObservable.ts │ │ │ │ ├── schedulePromise.ts │ │ │ │ ├── scheduleReadableStreamLike.ts │ │ │ │ └── scheduled.ts │ │ │ ├── scheduler/ │ │ │ │ ├── Action.ts │ │ │ │ ├── AnimationFrameAction.ts │ │ │ │ ├── AnimationFrameScheduler.ts │ │ │ │ ├── AsapAction.ts │ │ │ │ ├── AsapScheduler.ts │ │ │ │ ├── AsyncAction.ts │ │ │ │ ├── AsyncScheduler.ts │ │ │ │ ├── QueueAction.ts │ │ │ │ ├── QueueScheduler.ts │ │ │ │ ├── VirtualTimeScheduler.ts │ │ │ │ ├── animationFrame.ts │ │ │ │ ├── animationFrameProvider.ts │ │ │ │ ├── asap.ts │ │ │ │ ├── async.ts │ │ │ │ ├── dateTimestampProvider.ts │ │ │ │ ├── immediateProvider.ts │ │ │ │ ├── intervalProvider.ts │ │ │ │ ├── performanceTimestampProvider.ts │ │ │ │ ├── queue.ts │ │ │ │ └── timeoutProvider.ts │ │ │ ├── symbol/ │ │ │ │ ├── iterator.ts │ │ │ │ └── observable.ts │ │ │ ├── testing/ │ │ │ │ ├── ColdObservable.ts │ │ │ │ ├── HotObservable.ts │ │ │ │ ├── SubscriptionLog.ts │ │ │ │ ├── SubscriptionLoggable.ts │ │ │ │ ├── TestMessage.ts │ │ │ │ └── TestScheduler.ts │ │ │ ├── types.ts │ │ │ └── util/ │ │ │ ├── ArgumentOutOfRangeError.ts │ │ │ ├── EmptyError.ts │ │ │ ├── Immediate.ts │ │ │ ├── NotFoundError.ts │ │ │ ├── ObjectUnsubscribedError.ts │ │ │ ├── SequenceError.ts │ │ │ ├── UnsubscriptionError.ts │ │ │ ├── applyMixins.ts │ │ │ ├── args.ts │ │ │ ├── argsArgArrayOrObject.ts │ │ │ ├── argsOrArgArray.ts │ │ │ ├── arrRemove.ts │ │ │ ├── createErrorClass.ts │ │ │ ├── createObject.ts │ │ │ ├── errorContext.ts │ │ │ ├── executeSchedule.ts │ │ │ ├── identity.ts │ │ │ ├── isArrayLike.ts │ │ │ ├── isAsyncIterable.ts │ │ │ ├── isDate.ts │ │ │ ├── isFunction.ts │ │ │ ├── isInteropObservable.ts │ │ │ ├── isIterable.ts │ │ │ ├── isObservable.ts │ │ │ ├── isPromise.ts │ │ │ ├── isReadableStreamLike.ts │ │ │ ├── isScheduler.ts │ │ │ ├── lift.ts │ │ │ ├── mapOneOrManyArgs.ts │ │ │ ├── noop.ts │ │ │ ├── not.ts │ │ │ ├── pipe.ts │ │ │ ├── reportUnhandledError.ts │ │ │ ├── subscribeToArray.ts │ │ │ ├── throwUnobservableError.ts │ │ │ └── workarounds.ts │ │ └── tsconfig.json │ ├── valdi_standalone/ │ │ ├── BUILD.bazel │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── ArgumentsParser.ts │ │ │ ├── CodeCoverage.ts │ │ │ ├── FailedTestRetryReporter.ts │ │ │ ├── IstanbulIibCoverage.ts │ │ │ ├── JasmineBootstrap.ts │ │ │ ├── NativeModules.ts │ │ │ ├── TestsRunner.ts │ │ │ └── ValdiStandalone.ts │ │ └── tsconfig.json │ ├── valdi_test/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── FunctionTest.ts │ │ │ ├── IntegrationTests.tsx │ │ │ └── MarshallingTests.ts │ │ ├── strings/ │ │ │ ├── strings-en.json │ │ │ └── strings-fr-FR.json │ │ ├── test/ │ │ │ ├── AssetCatalog.spec.ts │ │ │ ├── AttributedTextBuilder.spec.ts │ │ │ ├── BenchmarkUtils.ts │ │ │ ├── Component.spec.ts │ │ │ ├── ComponentTestExample.tsx │ │ │ ├── DetachedSlot.spec.tsx │ │ │ ├── ElementForViewClass.d.ts │ │ │ ├── IRenderedElementViewClass.ts │ │ │ ├── JSXTest.spec.tsx │ │ │ ├── JSXTestUtils.tsx │ │ │ ├── Locale.spec.ts │ │ │ ├── LocaleResolver.spec.ts │ │ │ ├── LocalizableStrings.spec.ts │ │ │ ├── Localization.spec.ts │ │ │ ├── Long.spec.ts │ │ │ ├── MicroBenchmarks.ts │ │ │ ├── ModuleLoader.spec.ts │ │ │ ├── Provider.spec.tsx │ │ │ ├── Renderer.spec.ts │ │ │ ├── RendererEventRecorder.spec.ts │ │ │ ├── RendererTestDelegate.ts │ │ │ └── Style.spec.ts │ │ └── tsconfig.json │ ├── valdi_tsx/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── module.yaml │ │ ├── src/ │ │ │ ├── Accessibility.d.ts │ │ │ ├── Asset.d.ts │ │ │ ├── AttributedText.d.ts │ │ │ ├── AttributedTextInlineImageAttachment.d.ts │ │ │ ├── GeometricPath.d.ts │ │ │ ├── Geometry.d.ts │ │ │ ├── GestureEvents.d.ts │ │ │ ├── IComponentBase.d.ts │ │ │ ├── IFontProvider.d.ts │ │ │ ├── IRenderedComponentHolder.d.ts │ │ │ ├── IRenderedElementBase.d.ts │ │ │ ├── IRenderedElementHolder.d.ts │ │ │ ├── IScrollPerfLoggerBridge.d.ts │ │ │ ├── IStyle.d.ts │ │ │ ├── ImageFilter.d.ts │ │ │ ├── JSX.ts │ │ │ ├── NativeNode.d.ts │ │ │ ├── NativeTemplateElements.d.ts │ │ │ ├── NativeView.d.ts │ │ │ ├── PropertyList.d.ts │ │ │ └── ViewFactory.d.ts │ │ ├── tsconfig.json │ │ ├── types/ │ │ │ ├── Long.d.ts │ │ │ └── globals.d.ts │ │ └── web/ │ │ ├── JSX.stub.d.ts │ │ ├── JSX.ts │ │ └── tsconfig.json │ ├── valdi_web/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── src/ │ │ │ ├── ValdiWeb.ts │ │ │ └── WebTest.tsx │ │ ├── strings/ │ │ │ ├── strings-ar.json │ │ │ ├── strings-bn-BD.json │ │ │ ├── strings-bn-IN.json │ │ │ ├── strings-da-DK.json │ │ │ ├── strings-de-DE.json │ │ │ ├── strings-el-GR.json │ │ │ ├── strings-en-GB.json │ │ │ ├── strings-en.json │ │ │ ├── strings-es-AR.json │ │ │ ├── strings-es-ES.json │ │ │ ├── strings-es-MX.json │ │ │ ├── strings-es.json │ │ │ ├── strings-fi-FI.json │ │ │ ├── strings-fil-PH.json │ │ │ ├── strings-fr-FR.json │ │ │ ├── strings-gu-IN.json │ │ │ ├── strings-hi-IN.json │ │ │ ├── strings-id-ID.json │ │ │ ├── strings-it-IT.json │ │ │ ├── strings-ja-JP.json │ │ │ ├── strings-kn-IN.json │ │ │ ├── strings-ko-KR.json │ │ │ ├── strings-ml-IN.json │ │ │ ├── strings-mr-IN.json │ │ │ ├── strings-ms-MY.json │ │ │ ├── strings-nb-NO.json │ │ │ ├── strings-nl-NL.json │ │ │ ├── strings-pa.json │ │ │ ├── strings-pl-PL.json │ │ │ ├── strings-pt-BR.json │ │ │ ├── strings-pt-PT.json │ │ │ ├── strings-ro-RO.json │ │ │ ├── strings-ru-RU.json │ │ │ ├── strings-sv-SE.json │ │ │ ├── strings-ta-IN.json │ │ │ ├── strings-te-IN.json │ │ │ ├── strings-th-TH.json │ │ │ ├── strings-tr-TR.json │ │ │ ├── strings-ur-PK.json │ │ │ ├── strings-vi-VN.json │ │ │ ├── strings-zh-Hans.json │ │ │ └── strings-zh-Hant.json │ │ └── tsconfig.json │ ├── web_renderer/ │ │ ├── BUILD.bazel │ │ ├── src/ │ │ │ ├── HTMLRenderer.ts │ │ │ ├── ValdiWebRenderer.ts │ │ │ ├── ValdiWebRendererDelegate.ts │ │ │ ├── ValdiWebRuntime.ts │ │ │ ├── WebPolyglotRegistry.ts │ │ │ ├── WebPolyglotRuntime.ts │ │ │ ├── WebPolyglotRuntimeNative.d.ts │ │ │ ├── WebPolyglotTypes.d.ts │ │ │ ├── WebViewClassRegistry.ts │ │ │ ├── styles/ │ │ │ │ ├── ValdiWebStyles.ts │ │ │ │ ├── handleMarginPadding.ts │ │ │ │ ├── isNumber.ts │ │ │ │ ├── requiresUnitlessNumber.ts │ │ │ │ └── touchAreaExtension.ts │ │ │ ├── utils/ │ │ │ │ └── parseAttributedText.ts │ │ │ └── views/ │ │ │ ├── WebValdiCustomView.ts │ │ │ ├── WebValdiImage.ts │ │ │ ├── WebValdiLabel.ts │ │ │ ├── WebValdiLayout.ts │ │ │ ├── WebValdiScroll.ts │ │ │ ├── WebValdiShape.ts │ │ │ ├── WebValdiSpinner.ts │ │ │ ├── WebValdiTextField.ts │ │ │ ├── WebValdiTextView.ts │ │ │ ├── WebValdiVideo.ts │ │ │ └── WebValdiView.ts │ │ ├── test/ │ │ │ └── WebValdiImage.spec.ts │ │ └── tsconfig.json │ └── worker/ │ ├── BUILD.bazel │ ├── README.md │ ├── module.yaml │ ├── src/ │ │ ├── IWorkerService.d.ts │ │ ├── ServiceCallback.d.ts │ │ ├── Worker.ts │ │ ├── WorkerService.ts │ │ ├── WorkerServiceEntryPoint.ts │ │ ├── WorkerServiceExecutor.ts │ │ ├── internal/ │ │ │ ├── ManagedWorker.ts │ │ │ └── ManagedWorkerService.ts │ │ └── utils/ │ │ └── WorkerServiceBridgeUtils.ts │ ├── test/ │ │ ├── CalculatorService.ts │ │ ├── WorkerService.spec.ts │ │ └── WorkerTest.ts │ ├── test_workers/ │ │ ├── EchoWorker.ts │ │ ├── README.md │ │ └── TestWorker.ts │ └── tsconfig.json ├── third-party/ │ ├── backward/ │ │ ├── BUILD.bazel │ │ └── backward.BUILD │ ├── bazel_features/ │ │ ├── BUILD.bazel │ │ └── fix_bazel_version.patch │ ├── boost/ │ │ ├── BUILD.bazel │ │ ├── WORKSPACE │ │ ├── asio-ssl.cpp │ │ ├── asio.cpp │ │ ├── boost.BUILD │ │ └── patches/ │ │ ├── BUILD.bazel │ │ ├── asio.patch │ │ ├── global_asio_initializers.patch │ │ ├── interprocess_emscripten.patch │ │ └── remove_invalid_file_1_78.patch │ ├── build_bazel_rules_android/ │ │ └── patches/ │ │ ├── BUILD.bazel │ │ ├── rules_android_android_rules.patch │ │ ├── rules_android_rules_aar_import.patch │ │ ├── rules_android_rules_android_local_test.patch │ │ └── rules_android_rules_attrs.patch │ ├── djinni-support-lib/ │ │ ├── BUILD.bazel │ │ ├── README.snap │ │ └── src/ │ │ ├── .gitignore │ │ └── djinni/ │ │ ├── cpp/ │ │ │ ├── DataRef.cpp │ │ │ ├── DataRef.hpp │ │ │ ├── DataRef_c_translator.cpp │ │ │ ├── DataRef_c_translator.hpp │ │ │ ├── DataView.hpp │ │ │ ├── DataView_c_translator.cpp │ │ │ ├── DataView_c_translator.hpp │ │ │ ├── Future.hpp │ │ │ ├── Future_c.cpp │ │ │ ├── Future_c.h │ │ │ ├── Future_c_translator.cpp │ │ │ ├── Future_c_translator.hpp │ │ │ ├── Outcome_c.cpp │ │ │ ├── Outcome_c.h │ │ │ ├── Outcome_c_translator.hpp │ │ │ ├── Provider.hpp │ │ │ ├── Provider_c.cpp │ │ │ ├── Provider_c.h │ │ │ ├── Provider_c_translator.hpp │ │ │ ├── SharedFuture.hpp │ │ │ ├── djinni_c.cpp │ │ │ ├── djinni_c.h │ │ │ ├── djinni_c_ref.hpp │ │ │ ├── djinni_c_translators.cpp │ │ │ ├── djinni_c_translators.hpp │ │ │ ├── djinni_c_types.cpp │ │ │ ├── djinni_c_types.hpp │ │ │ ├── expected.hpp │ │ │ └── tl_expected.hpp │ │ ├── dataref.yaml │ │ ├── dataview.yaml │ │ ├── djinni_common.hpp │ │ ├── future.yaml │ │ ├── java/ │ │ │ └── com/ │ │ │ ├── dropbox/ │ │ │ │ └── djinni/ │ │ │ │ └── NativeLibLoader.java │ │ │ └── snapchat/ │ │ │ └── djinni/ │ │ │ ├── DataRefHelper.java │ │ │ ├── Future.java │ │ │ ├── NativeFutureHandler.java │ │ │ ├── NativeObjectManager.java │ │ │ ├── NativeProviderHandler.java │ │ │ ├── Outcome.java │ │ │ ├── Promise.java │ │ │ ├── Provider.java │ │ │ └── SharedState.java │ │ ├── jni/ │ │ │ ├── DataRef_jni.cpp │ │ │ ├── DataRef_jni.hpp │ │ │ ├── DataView_jni.hpp │ │ │ ├── Future_jni.cpp │ │ │ ├── Future_jni.hpp │ │ │ ├── Marshal.hpp │ │ │ ├── Outcome_jni.hpp │ │ │ ├── Provider_jni.cpp │ │ │ ├── Provider_jni.hpp │ │ │ ├── djinni_main.cpp │ │ │ ├── djinni_support.cpp │ │ │ └── djinni_support.hpp │ │ ├── objc/ │ │ │ ├── DJFuture.h │ │ │ ├── DJFuture.mm │ │ │ ├── DJICppWrapperCache+Private.h │ │ │ ├── DJIError.h │ │ │ ├── DJIError.mm │ │ │ ├── DJIMarshal+Private.h │ │ │ ├── DJIObjcWrapperCache+Private.h │ │ │ ├── DJIProxyCaches.mm │ │ │ ├── DJOutcome.h │ │ │ ├── DJOutcome.mm │ │ │ ├── DJProvider.h │ │ │ ├── DJProvider.mm │ │ │ ├── DataRef_objc.hpp │ │ │ ├── DataRef_objc.mm │ │ │ ├── DataView_objc.hpp │ │ │ ├── Future_objc.hpp │ │ │ ├── Outcome_objc.hpp │ │ │ └── Provider_objc.hpp │ │ ├── outcome.yaml │ │ ├── provider.yaml │ │ ├── proxy_cache_impl.hpp │ │ ├── proxy_cache_interface.hpp │ │ ├── swift/ │ │ │ ├── DJData.swift │ │ │ ├── DJFuture.swift │ │ │ ├── DJMarshal.swift │ │ │ ├── DJOutcome.swift │ │ │ ├── DJProtobuf.swift │ │ │ ├── DJProvider.swift │ │ │ └── DjinniSupport.swift │ │ ├── swiftxx/ │ │ │ ├── Data_swift.cpp │ │ │ ├── Data_swift.hpp │ │ │ ├── Future_swift.cpp │ │ │ ├── Future_swift.hpp │ │ │ ├── Outcome_swift.hpp │ │ │ ├── Provider_swift.cpp │ │ │ ├── Provider_swift.hpp │ │ │ ├── djinni_support.cpp │ │ │ └── djinni_support.hpp │ │ ├── ts/ │ │ │ ├── DjinniModule.ts │ │ │ ├── Outcome.ts │ │ │ └── Provider.ts │ │ ├── valdi/ │ │ │ ├── DataRef_valdi.cpp │ │ │ ├── DataRef_valdi.hpp │ │ │ ├── DataView_valdi.hpp │ │ │ ├── Future_valdi.hpp │ │ │ ├── Outcome_valdi.hpp │ │ │ ├── Provider_valdi.hpp │ │ │ ├── djinni_valdi.cpp │ │ │ └── djinni_valdi.hpp │ │ ├── valdi-ts/ │ │ │ ├── module.yaml │ │ │ ├── src/ │ │ │ │ ├── Djinni.ts │ │ │ │ ├── Outcome.ts │ │ │ │ ├── ProtoSupport.ts │ │ │ │ └── Provider.ts │ │ │ └── tsconfig.json │ │ └── wasm/ │ │ ├── DataRef_wasm.cpp │ │ ├── DataRef_wasm.hpp │ │ ├── DataView_wasm.hpp │ │ ├── Future_wasm.hpp │ │ ├── Outcome_wasm.hpp │ │ ├── Provider_wasm.hpp │ │ ├── djinni_wasm.cpp │ │ └── djinni_wasm.hpp │ ├── fmt/ │ │ ├── BUILD.bazel │ │ └── fmt.BUILD │ ├── harfbuzz/ │ │ ├── BUILD.bazel │ │ └── harfbuzz.BUILD │ ├── hermes/ │ │ ├── BUILD.bazel │ │ ├── cmake_configure.bzl │ │ ├── hermes.BUILD │ │ └── prepared_include/ │ │ ├── android-arm64-v8a/ │ │ │ └── llvh/ │ │ │ └── Config/ │ │ │ └── config.h │ │ ├── android-armeabi-v7a/ │ │ │ └── llvh/ │ │ │ └── Config/ │ │ │ └── config.h │ │ ├── android-x86_64/ │ │ │ └── llvh/ │ │ │ └── Config/ │ │ │ └── config.h │ │ ├── apple/ │ │ │ └── llvh/ │ │ │ └── Config/ │ │ │ └── config.h │ │ ├── hermes/ │ │ │ └── InternalBytecode/ │ │ │ └── InternalBytecode.inc │ │ ├── linux/ │ │ │ └── llvh/ │ │ │ └── Config/ │ │ │ └── config.h │ │ └── llvh/ │ │ └── IR/ │ │ └── Attributes.inc │ ├── icu/ │ │ ├── BUILD.bazel │ │ └── icu.BUILD │ ├── jscore/ │ │ ├── BUILD.bazel │ │ └── include/ │ │ └── JavaScriptCore/ │ │ ├── APICallbackFunction.h │ │ ├── APICast.h │ │ ├── APIUtils.h │ │ ├── JSAPIWrapperObject.h │ │ ├── JSBase.h │ │ ├── JSBasePrivate.h │ │ ├── JSCTestRunnerUtils.h │ │ ├── JSCallbackConstructor.h │ │ ├── JSCallbackFunction.h │ │ ├── JSCallbackObject.h │ │ ├── JSCallbackObjectFunctions.h │ │ ├── JSClassRef.h │ │ ├── JSContext.h │ │ ├── JSContextInternal.h │ │ ├── JSContextPrivate.h │ │ ├── JSContextRef.h │ │ ├── JSContextRefInspectorSupport.h │ │ ├── JSContextRefInternal.h │ │ ├── JSContextRefPrivate.h │ │ ├── JSExport.h │ │ ├── JSHeapFinalizerPrivate.h │ │ ├── JSManagedValue.h │ │ ├── JSManagedValueInternal.h │ │ ├── JSMarkingConstraintPrivate.h │ │ ├── JSObjectRef.h │ │ ├── JSObjectRefPrivate.h │ │ ├── JSRemoteInspector.h │ │ ├── JSRetainPtr.h │ │ ├── JSScriptRefPrivate.h │ │ ├── JSStringRef.h │ │ ├── JSStringRefBSTR.h │ │ ├── JSStringRefCF.h │ │ ├── JSStringRefPrivate.h │ │ ├── JSTypedArray.h │ │ ├── JSValue.h │ │ ├── JSValueInternal.h │ │ ├── JSValueRef.h │ │ ├── JSVirtualMachine.h │ │ ├── JSVirtualMachineInternal.h │ │ ├── JSVirtualMachinePrivate.h │ │ ├── JSWeakObjectMapRefInternal.h │ │ ├── JSWeakObjectMapRefPrivate.h │ │ ├── JSWeakPrivate.h │ │ ├── JSWeakValue.h │ │ ├── JSWrapperMap.h │ │ ├── JavaScript.h │ │ ├── JavaScriptCore.h │ │ ├── ObjCCallbackFunction.h │ │ ├── ObjcRuntimeExtras.h │ │ ├── OpaqueJSString.h │ │ └── WebKitAvailability.h │ ├── jsoncpp/ │ │ ├── BUILD.bazel │ │ └── jsoncpp.BUILD │ ├── libjpeg_turbo/ │ │ ├── BUILD.bazel │ │ ├── include_fix.patch │ │ └── warning_fix.patch │ ├── libpng/ │ │ ├── BUILD.bazel │ │ └── fix_armv7.patch │ ├── ocmock/ │ │ ├── BUILD │ │ ├── OCMock.build │ │ └── README.snap │ ├── phmap/ │ │ ├── BUILD.bazel │ │ └── phmap.BUILD │ ├── protobuf_cpp/ │ │ └── BUILD.bazel │ ├── quickjs/ │ │ ├── BUILD.bazel │ │ ├── LICENSE │ │ ├── README.md │ │ ├── VERSION │ │ ├── include/ │ │ │ └── quickjs/ │ │ │ ├── libbf.h │ │ │ ├── libregexp.h │ │ │ ├── libunicode.h │ │ │ └── quickjs.h │ │ └── src/ │ │ └── quickjs/ │ │ ├── cutils.c │ │ ├── cutils.h │ │ ├── libbf.c │ │ ├── libregexp-opcode.h │ │ ├── libregexp.c │ │ ├── libunicode-table.h │ │ ├── libunicode.c │ │ ├── list.h │ │ ├── quickjs-atom.h │ │ ├── quickjs-opcode.h │ │ └── quickjs.c │ ├── resvg/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── resvg.BUILD │ │ └── resvg_libs/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── libs/ │ │ ├── Linux/ │ │ │ └── x86_64/ │ │ │ └── lib/ │ │ │ └── libresvg.a │ │ └── Macos/ │ │ ├── armv8/ │ │ │ └── lib/ │ │ │ └── libresvg.a │ │ └── x86_64/ │ │ └── lib/ │ │ └── libresvg.a │ ├── rules_android_ndk/ │ │ └── patches/ │ │ ├── BUILD.bazel │ │ └── expose_bins.patch │ ├── rules_hdrs/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ ├── hmap/ │ │ │ ├── BUILD.bazel │ │ │ ├── hmap.bzl │ │ │ ├── hmap.c │ │ │ ├── hmap.h │ │ │ ├── hmapbuild.c │ │ │ ├── hmapdump.c │ │ │ ├── hmaptest.c │ │ │ ├── lines.c │ │ │ ├── lines.h │ │ │ └── uthash.h │ │ └── umbrella_header/ │ │ ├── BUILD.bazel │ │ └── umbrella_header.bzl │ ├── rules_kotlin/ │ │ ├── BUILD.bazel │ │ └── fix_manifest_custom_package.patch │ ├── rules_swift/ │ │ └── patches/ │ │ ├── BUILD.bazel │ │ └── rules_swift.patch │ ├── skia_user_config/ │ │ ├── BUILD.bazel │ │ ├── MODULE.bazel │ │ ├── SkUserConfig.h │ │ ├── WORKSPACE │ │ ├── copts.bzl │ │ └── linkopts.bzl │ ├── test262/ │ │ ├── BUILD.bazel │ │ ├── scripts/ │ │ │ ├── BUILD.bazel │ │ │ └── zip.sh │ │ └── test262.BUILD │ ├── v8/ │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── README.snap │ │ ├── include/ │ │ │ └── v8/ │ │ │ ├── cppgc/ │ │ │ │ ├── allocation.h │ │ │ │ ├── common.h │ │ │ │ ├── cross-thread-persistent.h │ │ │ │ ├── custom-space.h │ │ │ │ ├── default-platform.h │ │ │ │ ├── ephemeron-pair.h │ │ │ │ ├── explicit-management.h │ │ │ │ ├── garbage-collected.h │ │ │ │ ├── heap-consistency.h │ │ │ │ ├── heap-handle.h │ │ │ │ ├── heap-state.h │ │ │ │ ├── heap-statistics.h │ │ │ │ ├── heap.h │ │ │ │ ├── internal/ │ │ │ │ │ ├── api-constants.h │ │ │ │ │ ├── atomic-entry-flag.h │ │ │ │ │ ├── base-page-handle.h │ │ │ │ │ ├── caged-heap-local-data.h │ │ │ │ │ ├── caged-heap.h │ │ │ │ │ ├── compiler-specific.h │ │ │ │ │ ├── finalizer-trait.h │ │ │ │ │ ├── gc-info.h │ │ │ │ │ ├── logging.h │ │ │ │ │ ├── member-storage.h │ │ │ │ │ ├── name-trait.h │ │ │ │ │ ├── persistent-node.h │ │ │ │ │ ├── pointer-policies.h │ │ │ │ │ └── write-barrier.h │ │ │ │ ├── liveness-broker.h │ │ │ │ ├── macros.h │ │ │ │ ├── member.h │ │ │ │ ├── name-provider.h │ │ │ │ ├── object-size-trait.h │ │ │ │ ├── persistent.h │ │ │ │ ├── platform.h │ │ │ │ ├── prefinalizer.h │ │ │ │ ├── process-heap-statistics.h │ │ │ │ ├── sentinel-pointer.h │ │ │ │ ├── source-location.h │ │ │ │ ├── testing.h │ │ │ │ ├── trace-trait.h │ │ │ │ ├── type-traits.h │ │ │ │ └── visitor.h │ │ │ ├── libplatform/ │ │ │ │ ├── libplatform-export.h │ │ │ │ ├── libplatform.h │ │ │ │ └── v8-tracing.h │ │ │ ├── v8-array-buffer.h │ │ │ ├── v8-callbacks.h │ │ │ ├── v8-container.h │ │ │ ├── v8-context.h │ │ │ ├── v8-cppgc.h │ │ │ ├── v8-data.h │ │ │ ├── v8-date.h │ │ │ ├── v8-debug.h │ │ │ ├── v8-embedder-heap.h │ │ │ ├── v8-embedder-state-scope.h │ │ │ ├── v8-exception.h │ │ │ ├── v8-extension.h │ │ │ ├── v8-external.h │ │ │ ├── v8-fast-api-calls.h │ │ │ ├── v8-forward.h │ │ │ ├── v8-function-callback.h │ │ │ ├── v8-function.h │ │ │ ├── v8-handle-base.h │ │ │ ├── v8-initialization.h │ │ │ ├── v8-inspector-protocol.h │ │ │ ├── v8-inspector.h │ │ │ ├── v8-internal.h │ │ │ ├── v8-isolate.h │ │ │ ├── v8-json.h │ │ │ ├── v8-local-handle.h │ │ │ ├── v8-locker.h │ │ │ ├── v8-maybe.h │ │ │ ├── v8-memory-span.h │ │ │ ├── v8-message.h │ │ │ ├── v8-metrics.h │ │ │ ├── v8-microtask-queue.h │ │ │ ├── v8-microtask.h │ │ │ ├── v8-object.h │ │ │ ├── v8-persistent-handle.h │ │ │ ├── v8-platform.h │ │ │ ├── v8-primitive-object.h │ │ │ ├── v8-primitive.h │ │ │ ├── v8-profiler.h │ │ │ ├── v8-promise.h │ │ │ ├── v8-proxy.h │ │ │ ├── v8-regexp.h │ │ │ ├── v8-script.h │ │ │ ├── v8-snapshot.h │ │ │ ├── v8-source-location.h │ │ │ ├── v8-statistics.h │ │ │ ├── v8-template.h │ │ │ ├── v8-traced-handle.h │ │ │ ├── v8-typed-array.h │ │ │ ├── v8-unwinder-state.h │ │ │ ├── v8-unwinder.h │ │ │ ├── v8-util.h │ │ │ ├── v8-value-serializer-version.h │ │ │ ├── v8-value-serializer.h │ │ │ ├── v8-value.h │ │ │ ├── v8-version-string.h │ │ │ ├── v8-version.h │ │ │ ├── v8-wasm-trap-handler-posix.h │ │ │ ├── v8-wasm-trap-handler-win.h │ │ │ ├── v8-wasm.h │ │ │ ├── v8-weak-callback-info.h │ │ │ ├── v8.h │ │ │ └── v8config.h │ │ └── v8.bzl │ ├── websocketpp/ │ │ ├── BUILD.bazel │ │ ├── patches/ │ │ │ ├── BUILD.bazel │ │ │ └── fix_ios_lrt.patch │ │ └── websocketpp.BUILD │ ├── xxhash/ │ │ ├── BUILD.bazel │ │ └── xxhash.BUILD │ ├── yoga/ │ │ ├── BUILD.bazel │ │ ├── README.snap │ │ └── src/ │ │ ├── android/ │ │ │ ├── Dummy.cpp │ │ │ ├── include/ │ │ │ │ ├── fb/ │ │ │ │ │ └── Doxyfile │ │ │ │ ├── fbjni/ │ │ │ │ │ ├── ByteBuffer.h │ │ │ │ │ ├── Context.h │ │ │ │ │ ├── File.h │ │ │ │ │ ├── JThread.h │ │ │ │ │ ├── NativeRunnable.h │ │ │ │ │ ├── ReadableByteChannel.h │ │ │ │ │ ├── detail/ │ │ │ │ │ │ ├── Boxed.h │ │ │ │ │ │ ├── Common.h │ │ │ │ │ │ ├── CoreClasses-inl.h │ │ │ │ │ │ ├── CoreClasses.h │ │ │ │ │ │ ├── Environment.h │ │ │ │ │ │ ├── Exceptions.h │ │ │ │ │ │ ├── Hybrid.h │ │ │ │ │ │ ├── Iterator-inl.h │ │ │ │ │ │ ├── Iterator.h │ │ │ │ │ │ ├── JWeakReference.h │ │ │ │ │ │ ├── Log.h │ │ │ │ │ │ ├── Meta-forward.h │ │ │ │ │ │ ├── Meta-inl.h │ │ │ │ │ │ ├── Meta.h │ │ │ │ │ │ ├── MetaConvert.h │ │ │ │ │ │ ├── ReferenceAllocators-inl.h │ │ │ │ │ │ ├── ReferenceAllocators.h │ │ │ │ │ │ ├── References-forward.h │ │ │ │ │ │ ├── References-inl.h │ │ │ │ │ │ ├── References.h │ │ │ │ │ │ ├── Registration-inl.h │ │ │ │ │ │ ├── Registration.h │ │ │ │ │ │ ├── TypeTraits.h │ │ │ │ │ │ └── utf8.h │ │ │ │ │ └── fbjni.h │ │ │ │ └── lyra/ │ │ │ │ ├── lyra.h │ │ │ │ └── lyra_exceptions.h │ │ │ ├── jni/ │ │ │ │ ├── ByteBuffer.cpp │ │ │ │ ├── ReadableByteChannel.cpp │ │ │ │ ├── detail/ │ │ │ │ │ ├── Environment.cpp │ │ │ │ │ ├── Exceptions.cpp │ │ │ │ │ ├── Hybrid.cpp │ │ │ │ │ ├── References.cpp │ │ │ │ │ └── utf8.cpp │ │ │ │ └── fbjni.cpp │ │ │ └── lyra/ │ │ │ ├── cxa_throw.cpp │ │ │ ├── lyra.cpp │ │ │ ├── lyra_breakpad.cpp │ │ │ └── lyra_exceptions.cpp │ │ ├── ios/ │ │ │ └── yoga/ │ │ │ ├── UIView+Yoga.h │ │ │ ├── UIView+Yoga.m │ │ │ ├── YGLayout+Private.h │ │ │ ├── YGLayout.h │ │ │ └── YGLayout.m │ │ ├── java/ │ │ │ └── com/ │ │ │ └── facebook/ │ │ │ └── yoga/ │ │ │ ├── YogaAlign.java │ │ │ ├── YogaBaselineFunction.java │ │ │ ├── YogaConfig.java │ │ │ ├── YogaConstants.java │ │ │ ├── YogaDimension.java │ │ │ ├── YogaDirection.java │ │ │ ├── YogaDisplay.java │ │ │ ├── YogaEdge.java │ │ │ ├── YogaExperimentalFeature.java │ │ │ ├── YogaFlexDirection.java │ │ │ ├── YogaJustify.java │ │ │ ├── YogaLogLevel.java │ │ │ ├── YogaLogger.java │ │ │ ├── YogaMeasureFunction.java │ │ │ ├── YogaMeasureMode.java │ │ │ ├── YogaMeasureOutput.java │ │ │ ├── YogaNode.java │ │ │ ├── YogaNodeCloneFunction.java │ │ │ ├── YogaNodeType.java │ │ │ ├── YogaOverflow.java │ │ │ ├── YogaPositionType.java │ │ │ ├── YogaPrintOptions.java │ │ │ ├── YogaUnit.java │ │ │ ├── YogaValue.java │ │ │ └── YogaWrap.java │ │ └── yoga/ │ │ ├── Bitfield.h │ │ ├── CompactValue.h │ │ ├── Utils.cpp │ │ ├── Utils.h │ │ ├── YGConfig.cpp │ │ ├── YGConfig.h │ │ ├── YGEnums.cpp │ │ ├── YGEnums.h │ │ ├── YGFloatOptional.h │ │ ├── YGLayout.cpp │ │ ├── YGLayout.hpp │ │ ├── YGMacros.h │ │ ├── YGNode.cpp │ │ ├── YGNode.h │ │ ├── YGNodePrint.cpp │ │ ├── YGNodePrint.h │ │ ├── YGStyle.cpp │ │ ├── YGStyle.h │ │ ├── YGValue.cpp │ │ ├── YGValue.h │ │ ├── Yoga-internal.h │ │ ├── Yoga.cpp │ │ ├── Yoga.h │ │ ├── event/ │ │ │ ├── event.cpp │ │ │ └── event.h │ │ ├── internal/ │ │ │ ├── experiments-inl.h │ │ │ ├── experiments.cpp │ │ │ └── experiments.h │ │ ├── log.cpp │ │ └── log.h │ ├── zlib/ │ │ ├── BUILD.bazel │ │ └── zlib.BUILD │ ├── zlib_chromium/ │ │ ├── BUILD.bazel │ │ ├── patches/ │ │ │ ├── BUILD.bazel │ │ │ └── apple.patch │ │ └── zlib_chromium.BUILD │ ├── zlib_skia/ │ │ ├── BUILD.bazel │ │ └── android_ios_x86_64.patch │ ├── zoo/ │ │ ├── BUILD.bazel │ │ └── zoo.BUILD │ └── zstd/ │ ├── BUILD.bazel │ └── zstd.BUILD ├── tools/ │ ├── ci/ │ │ ├── bazel_build.sh │ │ ├── bootstrap_app.sh │ │ ├── build_core_targets.sh │ │ ├── install_cli.sh │ │ ├── release_test.sh │ │ ├── run_tests.sh │ │ ├── test_exported_lib.sh │ │ └── test_workflow_locally.sh │ └── zstd/ │ ├── BUILD.bazel │ ├── Dockerfile │ ├── bin/ │ │ ├── linux/ │ │ │ └── zstd │ │ └── macos/ │ │ └── zstd │ ├── build_zstd_linux.sh │ ├── build_zstd_macos.sh │ ├── build_zstd_within_environment.sh │ ├── rebuild_all.sh │ └── zstdw ├── tsn/ │ ├── .gitignore │ ├── BUILD.bazel │ ├── README.md │ ├── examples/ │ │ ├── BUILD.bazel │ │ ├── microbench/ │ │ │ ├── README.md │ │ │ └── microbench.js │ │ ├── nbody/ │ │ │ └── nbody_example.ts │ │ ├── richards/ │ │ │ └── richards.js │ │ ├── stackoverflow_test/ │ │ │ └── stackoverflow.ts │ │ └── tsconfig.json │ ├── main/ │ │ └── main.cpp │ ├── rtl/ │ │ ├── BUILD.bazel │ │ ├── rtl/ │ │ │ └── tsn.ts │ │ └── tsconfig.json │ ├── scripts/ │ │ ├── bazel/ │ │ │ ├── test262_preprocess_test.sh │ │ │ └── test262_run_test.sh │ │ ├── compile.sh │ │ ├── compile_single.sh │ │ ├── ignored_test262.txt │ │ └── refresh.sh │ ├── src/ │ │ ├── test262/ │ │ │ ├── preprocessor/ │ │ │ │ └── main.cpp │ │ │ ├── runner/ │ │ │ │ ├── TestReporter.cpp │ │ │ │ ├── TestReporter.hpp │ │ │ │ └── main.cpp │ │ │ ├── shared/ │ │ │ │ ├── Test262Helpers.hpp │ │ │ │ ├── Test262Serialization.cpp │ │ │ │ └── Test262Serialization.hpp │ │ │ └── skip_list.json │ │ └── tsn/ │ │ ├── tsn.cpp │ │ └── tsn.h │ ├── tests/ │ │ ├── BUILD.bazel │ │ ├── tsconfig.json │ │ ├── tsn_integration_tests/ │ │ │ ├── arith_binary_operators.ts │ │ │ ├── arith_unary_operators.ts │ │ │ ├── arith_unary_operators_pros.ts │ │ │ ├── async_generator.ts │ │ │ ├── await.ts │ │ │ ├── backtrace.ts │ │ │ ├── binary_operators.ts │ │ │ ├── bitwise_operators.ts │ │ │ ├── capturing_closures.ts │ │ │ ├── classes.ts │ │ │ ├── classes_method_from_value.ts │ │ │ ├── classes_properties.ts │ │ │ ├── classes_properties_from_value.ts │ │ │ ├── destructuring.ts │ │ │ ├── element_access.ts │ │ │ ├── enums.ts │ │ │ ├── exception.ts │ │ │ ├── exports.ts │ │ │ ├── for_in.ts │ │ │ ├── for_of.ts │ │ │ ├── function_as_classes.ts │ │ │ ├── generator.ts │ │ │ ├── if_statements.ts │ │ │ ├── imports.ts │ │ │ ├── js_bridge.ts │ │ │ ├── logical_operators.ts │ │ │ ├── loops.ts │ │ │ ├── memory_management.ts │ │ │ ├── mutable_capturing_closures.ts │ │ │ ├── null_coalescing.ts │ │ │ ├── object_properties.ts │ │ │ ├── optional_operator.ts │ │ │ ├── spread_literals.ts │ │ │ ├── string_template.ts │ │ │ ├── switch_stmt.ts │ │ │ ├── ternary_operators.ts │ │ │ ├── try_catch_finally.ts │ │ │ └── variables.ts │ │ └── tsn_test_helpers/ │ │ ├── bootstrap.ts │ │ ├── epilogue.ts │ │ └── globals.d.ts │ └── tsn.bzl ├── valdi/ │ ├── .gitignore │ ├── BUILD.bazel │ ├── README.md │ ├── bzl_project/ │ │ └── BUILD.bazel │ ├── compiler/ │ │ └── toolbox/ │ │ ├── BUILD.bazel │ │ └── src/ │ │ └── valdi/ │ │ ├── compiler_toolbox/ │ │ │ ├── CompilerToolbox.cpp │ │ │ ├── CompilerToolbox.hpp │ │ │ ├── RewriteHeader.cpp │ │ │ └── RewriteHeader.hpp │ │ ├── main/ │ │ │ └── main.cpp │ │ └── stamp/ │ │ ├── Stamp.cpp │ │ └── Stamp.hpp │ ├── fuzz/ │ │ ├── BUILD.bazel │ │ ├── build.sh │ │ └── src/ │ │ └── valdi/ │ │ └── runtime/ │ │ └── Resources/ │ │ └── ValdiModuleArchive_fuzz_test.cpp │ ├── generated-src/ │ │ ├── cpp/ │ │ │ └── valdi/ │ │ │ ├── Keychain.hpp │ │ │ └── RuntimeMessageHandler.hpp │ │ ├── java/ │ │ │ └── com/ │ │ │ └── snapchat/ │ │ │ └── client/ │ │ │ └── valdi/ │ │ │ ├── Keychain.java │ │ │ └── RuntimeMessageHandler.java │ │ ├── jni/ │ │ │ └── valdi/ │ │ │ ├── NativeKeychain.cpp │ │ │ ├── NativeKeychain.hpp │ │ │ ├── NativeRuntimeMessageHandler.cpp │ │ │ └── NativeRuntimeMessageHandler.hpp │ │ ├── objc/ │ │ │ └── valdi/ │ │ │ ├── SCNValdiKeychain+Private.h │ │ │ ├── SCNValdiKeychain+Private.mm │ │ │ ├── SCNValdiKeychain.h │ │ │ ├── SCNValdiRuntimeMessageHandler+Private.h │ │ │ ├── SCNValdiRuntimeMessageHandler+Private.mm │ │ │ └── SCNValdiRuntimeMessageHandler.h │ │ └── yaml/ │ │ ├── Keychain.yaml │ │ └── RuntimeMessageHandler.yaml │ ├── protogen-lite/ │ │ └── valdi/ │ │ ├── valdi.pb.cc │ │ └── valdi.pb.h │ ├── res/ │ │ └── xml/ │ │ ├── valdi_date_picker.xml │ │ ├── valdi_number_picker.xml │ │ ├── valdi_scroll_view_kitkat.xml │ │ └── valdi_time_picker.xml │ ├── scripts/ │ │ ├── bazel_utils.py │ │ ├── clang_tidy.sh │ │ ├── emoji/ │ │ │ ├── .gitignore │ │ │ ├── .prettierrc.json │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── emoji_gen/ │ │ │ │ └── index.ts │ │ │ └── tsconfig.json │ │ ├── run_debugger_test.sh │ │ └── update_extensions.sh │ ├── src/ │ │ ├── android_support/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── snap/ │ │ │ └── valdi/ │ │ │ └── support/ │ │ │ ├── AppBootstrapActivity.kt │ │ │ ├── AppBootstrapper.kt │ │ │ ├── DefaultNavigator.kt │ │ │ ├── NavigationView.kt │ │ │ ├── ScrollBridgeLoggerFactoryModule.kt │ │ │ ├── SupportFonts.kt │ │ │ ├── SupportModules.kt │ │ │ └── SupportValdiViewLoaderManager.kt │ │ ├── bindings/ │ │ │ ├── include/ │ │ │ │ └── valdi/ │ │ │ │ └── bindings/ │ │ │ │ ├── ViewTranslator_jni.hpp │ │ │ │ └── ViewTranslator_objc.hpp │ │ │ └── view.yaml │ │ ├── java/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── com/ │ │ │ │ ├── snap/ │ │ │ │ │ └── valdi/ │ │ │ │ │ ├── AsyncValdiViewLoader.kt │ │ │ │ │ ├── BuildOptions.kt │ │ │ │ │ ├── CppViewFactory.kt │ │ │ │ │ ├── DebugMessagePresenter.kt │ │ │ │ │ ├── DeferredViewFactory.kt │ │ │ │ │ ├── ExceptionReporter.kt │ │ │ │ │ ├── IBitmap.kt │ │ │ │ │ ├── IValdiRuntime.kt │ │ │ │ │ ├── InflationCompletion.kt │ │ │ │ │ ├── LazyViewFactory.kt │ │ │ │ │ ├── MainThreadBatchDispatcher.kt │ │ │ │ │ ├── NoOpValdiViewLoader.kt │ │ │ │ │ ├── PreloadingMode.kt │ │ │ │ │ ├── RenderBackend.kt │ │ │ │ │ ├── ScopedValdiViewLoader.kt │ │ │ │ │ ├── ValdiContextConfiguration.kt │ │ │ │ │ ├── ValdiRuntime.kt │ │ │ │ │ ├── ValdiTweaks.kt │ │ │ │ │ ├── ValdiViewLoaderManager.kt │ │ │ │ │ ├── ViewFactory.kt │ │ │ │ │ ├── ViewFactoryPrivate.kt │ │ │ │ │ ├── ViewRef.kt │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── JSCaller.kt │ │ │ │ │ │ ├── ValdiAction.java │ │ │ │ │ │ ├── ValdiActionHandlerHolder.kt │ │ │ │ │ │ ├── ValdiActions.kt │ │ │ │ │ │ ├── ValdiNativeAction.kt │ │ │ │ │ │ └── ValdiRunnableAction.kt │ │ │ │ │ ├── attributes/ │ │ │ │ │ │ ├── AttributeHandlerDelegate.kt │ │ │ │ │ │ ├── AttributePreprocessor.kt │ │ │ │ │ │ ├── AttributesBinder.kt │ │ │ │ │ │ ├── AttributesBindingContext.kt │ │ │ │ │ │ ├── AttributesBindingContextNative.kt │ │ │ │ │ │ ├── MeasureDelegate.kt │ │ │ │ │ │ ├── MeasuredSize.kt │ │ │ │ │ │ ├── RegisterAttributesBinder.kt │ │ │ │ │ │ ├── ViewLayoutAttributes.kt │ │ │ │ │ │ ├── ViewLayoutAttributesCpp.kt │ │ │ │ │ │ ├── conversions/ │ │ │ │ │ │ │ └── ColorConversions.kt │ │ │ │ │ │ └── impl/ │ │ │ │ │ │ ├── AnimatedImageViewAttributesBinder.kt │ │ │ │ │ │ ├── EditTextAttributesBinder.kt │ │ │ │ │ │ ├── EditTextMultilineAttributesBinder.kt │ │ │ │ │ │ ├── ScrollViewAttributesBinder.kt │ │ │ │ │ │ ├── ShapeViewAttributesBinder.kt │ │ │ │ │ │ ├── TextViewAttributesBinder.kt │ │ │ │ │ │ ├── ValdiDatePickerAttributesBinder.kt │ │ │ │ │ │ ├── ValdiImageViewAttributesBinder.kt │ │ │ │ │ │ ├── ValdiIndexPickerAttributesBinder.kt │ │ │ │ │ │ ├── ValdiRootViewAttributesBinder.kt │ │ │ │ │ │ ├── ValdiTextViewAttributesBinder.kt │ │ │ │ │ │ ├── ValdiTextViewBackgroundEffectsLayoutManager.kt │ │ │ │ │ │ ├── ValdiTimePickerAttributesBinder.kt │ │ │ │ │ │ ├── ValdiVideoViewAttributesBinder.kt │ │ │ │ │ │ ├── ViewAttributesBinder.kt │ │ │ │ │ │ ├── ViewGroupAttributesBinder.kt │ │ │ │ │ │ ├── animations/ │ │ │ │ │ │ │ ├── AnimationType.kt │ │ │ │ │ │ │ ├── ColorAnimator.kt │ │ │ │ │ │ │ ├── TextAnimator.kt │ │ │ │ │ │ │ ├── ValdiAnimator.kt │ │ │ │ │ │ │ ├── ValdiAnimatorBase.kt │ │ │ │ │ │ │ ├── ValdiAnimatorFactory.kt │ │ │ │ │ │ │ ├── ValdiInterpolatingAnimator.kt │ │ │ │ │ │ │ ├── ValdiInterpolatingValueAnimator.kt │ │ │ │ │ │ │ ├── ValdiSpringAnimator.kt │ │ │ │ │ │ │ ├── ValdiSpringValueAnimator.kt │ │ │ │ │ │ │ ├── ValdiValueAnimator.kt │ │ │ │ │ │ │ ├── ValdiValueAnimatorConfig.kt │ │ │ │ │ │ │ ├── ViewAnimator.kt │ │ │ │ │ │ │ └── transition/ │ │ │ │ │ │ │ └── ValdiTransitionInfo.kt │ │ │ │ │ │ ├── fonts/ │ │ │ │ │ │ │ ├── DefaultFonts.kt │ │ │ │ │ │ │ ├── DefaultTypefaceResLoader.kt │ │ │ │ │ │ │ ├── FontDataProvider.kt │ │ │ │ │ │ │ ├── FontDescriptor.kt │ │ │ │ │ │ │ ├── FontLoader.kt │ │ │ │ │ │ │ ├── FontManager.kt │ │ │ │ │ │ │ ├── MissingFontsTracker.kt │ │ │ │ │ │ │ └── TypefaceResLoader.kt │ │ │ │ │ │ ├── gestures/ │ │ │ │ │ │ │ ├── DoubleTapContext.kt │ │ │ │ │ │ │ ├── DragContext.kt │ │ │ │ │ │ │ ├── GestureAttributes.kt │ │ │ │ │ │ │ ├── GestureAttributesUtils.kt │ │ │ │ │ │ │ ├── HitTestUtils.kt │ │ │ │ │ │ │ ├── LongPressContext.kt │ │ │ │ │ │ │ ├── PinchContext.kt │ │ │ │ │ │ │ ├── PointerUtils.kt │ │ │ │ │ │ │ ├── PredicateUtils.kt │ │ │ │ │ │ │ ├── RotateContext.kt │ │ │ │ │ │ │ ├── RotationTracker.kt │ │ │ │ │ │ │ ├── TapContext.kt │ │ │ │ │ │ │ └── TouchContext.kt │ │ │ │ │ │ ├── gradients/ │ │ │ │ │ │ │ └── ValdiGradient.kt │ │ │ │ │ │ └── richtext/ │ │ │ │ │ │ ├── AttributedText.kt │ │ │ │ │ │ ├── AttributedTextCpp.kt │ │ │ │ │ │ ├── FontAttributes.kt │ │ │ │ │ │ ├── ImageAttachmentSpan.kt │ │ │ │ │ │ ├── OnLayoutSpan.kt │ │ │ │ │ │ ├── OnTapSpan.kt │ │ │ │ │ │ ├── OutlineReplacementSpan.kt │ │ │ │ │ │ ├── OutlineSpan.kt │ │ │ │ │ │ ├── RichTextConverter.kt │ │ │ │ │ │ ├── TextAlignment.kt │ │ │ │ │ │ ├── TextDecoration.kt │ │ │ │ │ │ ├── TextSizeSpan.kt │ │ │ │ │ │ └── TextViewHelper.kt │ │ │ │ │ ├── bundle/ │ │ │ │ │ │ ├── AssetImageLoaderCompletion.kt │ │ │ │ │ │ ├── AssetVideoLoaderCompletion.kt │ │ │ │ │ │ ├── AssetsManager.kt │ │ │ │ │ │ ├── IValdiCustomModuleProvider.kt │ │ │ │ │ │ ├── LocalAssetLoader.kt │ │ │ │ │ │ └── ResourceResolver.kt │ │ │ │ │ ├── callable/ │ │ │ │ │ │ ├── BridgeFunctionImpls.kt │ │ │ │ │ │ ├── ValdiBridgeFunction.kt │ │ │ │ │ │ ├── ValdiFunction.kt │ │ │ │ │ │ ├── ValdiFunctionActionAdapter.kt │ │ │ │ │ │ ├── ValdiFunctionNative.kt │ │ │ │ │ │ ├── ValdiFunctionTrampoline.kt │ │ │ │ │ │ └── ValdiFunctionUtils.kt │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── AndroidRootViewHandler.kt │ │ │ │ │ │ ├── ContextManager.kt │ │ │ │ │ │ ├── IRootViewHandler.kt │ │ │ │ │ │ ├── IValdiContext.kt │ │ │ │ │ │ ├── LazyValdiContext.kt │ │ │ │ │ │ ├── RootViewHandlerBase.kt │ │ │ │ │ │ ├── SnapDrawingRootViewHandler.kt │ │ │ │ │ │ ├── ValdiContext.kt │ │ │ │ │ │ ├── ValdiContextId.kt │ │ │ │ │ │ └── ValdiViewOwner.kt │ │ │ │ │ ├── drawables/ │ │ │ │ │ │ ├── BoxShadowRenderer.kt │ │ │ │ │ │ ├── BoxShadowRendererImpl.kt │ │ │ │ │ │ ├── BoxShadowRendererPool.kt │ │ │ │ │ │ ├── DeferredBoxShadowRenderer.kt │ │ │ │ │ │ ├── ValdiBitmapDrawable.kt │ │ │ │ │ │ ├── ValdiGradientDrawable.kt │ │ │ │ │ │ ├── ValdiImageDrawable.kt │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── BlurUtils.kt │ │ │ │ │ │ ├── BorderRadii.kt │ │ │ │ │ │ ├── DrawableInfoProvider.kt │ │ │ │ │ │ ├── FixedDrawableInfoProvider.kt │ │ │ │ │ │ ├── MaskPathRenderer.kt │ │ │ │ │ │ └── ValdiGradientDrawablePool.kt │ │ │ │ │ ├── exceptions/ │ │ │ │ │ │ ├── AttributeError.kt │ │ │ │ │ │ ├── ExceptionHandler.kt │ │ │ │ │ │ ├── ExceptionUtils.kt │ │ │ │ │ │ ├── GlobalExceptionHandler.kt │ │ │ │ │ │ ├── MarshallerException.kt │ │ │ │ │ │ ├── ValdiException.kt │ │ │ │ │ │ └── ValdiFatalException.kt │ │ │ │ │ ├── extensions/ │ │ │ │ │ │ └── ViewUtils.kt │ │ │ │ │ ├── imageloading/ │ │ │ │ │ │ ├── DefaultValImageLoader.kt │ │ │ │ │ │ └── ValdiImageLoaderPostprocessor.kt │ │ │ │ │ ├── jsmodules/ │ │ │ │ │ │ ├── JSThreadDispatcher.kt │ │ │ │ │ │ ├── ValdiJSRuntime.kt │ │ │ │ │ │ ├── ValdiJSRuntimeImpl.kt │ │ │ │ │ │ ├── ValdiJSWorker.kt │ │ │ │ │ │ ├── ValdiScopedJSRuntime.kt │ │ │ │ │ │ └── ValdiStringsModule.kt │ │ │ │ │ ├── keyboard/ │ │ │ │ │ │ └── KeyboardManager.kt │ │ │ │ │ ├── logger/ │ │ │ │ │ │ ├── DefaultLogger.kt │ │ │ │ │ │ ├── LogLevel.kt │ │ │ │ │ │ └── Logger.kt │ │ │ │ │ ├── modules/ │ │ │ │ │ │ ├── DrawingModuleFontImpl.kt │ │ │ │ │ │ ├── DrawingModuleImpl.kt │ │ │ │ │ │ ├── ModuleFactoryRegistry.kt │ │ │ │ │ │ ├── RegisterValdiModule.kt │ │ │ │ │ │ ├── ValdiApplicationModule.kt │ │ │ │ │ │ ├── ValdiBridgeModule.kt │ │ │ │ │ │ ├── ValdiBridgeObserver.kt │ │ │ │ │ │ ├── ValdiDateFormattingModule.kt │ │ │ │ │ │ ├── ValdiDeviceModule.kt │ │ │ │ │ │ ├── ValdiGeneratedModuleFactory.kt │ │ │ │ │ │ ├── ValdiNativeModules.kt │ │ │ │ │ │ ├── ValdiNumberFormattingModule.kt │ │ │ │ │ │ └── drawing/ │ │ │ │ │ │ ├── DrawingModule.kt │ │ │ │ │ │ ├── Font.kt │ │ │ │ │ │ ├── FontSpecs.kt │ │ │ │ │ │ ├── FontStyle.kt │ │ │ │ │ │ ├── FontWeight.kt │ │ │ │ │ │ └── Size.kt │ │ │ │ │ ├── nativebridge/ │ │ │ │ │ │ ├── ContextNative.kt │ │ │ │ │ │ ├── MainThreadDispatcher.java │ │ │ │ │ │ ├── ReflectionViewFactory.kt │ │ │ │ │ │ ├── RuntimeNative.kt │ │ │ │ │ │ ├── ValdiViewManager.kt │ │ │ │ │ │ ├── ValdiViewManagerOperations.kt │ │ │ │ │ │ └── ValdiViewManagerOperationsManager.kt │ │ │ │ │ ├── navigation/ │ │ │ │ │ │ ├── INavigator.kt │ │ │ │ │ │ ├── INavigatorPageConfig.kt │ │ │ │ │ │ └── INavigatorPageVisibility.kt │ │ │ │ │ ├── network/ │ │ │ │ │ │ ├── CompositeRequestManager.kt │ │ │ │ │ │ ├── DefaultHTTPRequestManager.kt │ │ │ │ │ │ └── HTTPRequestTask.kt │ │ │ │ │ ├── nodes/ │ │ │ │ │ │ ├── IValdiViewNode.kt │ │ │ │ │ │ ├── ValdiViewNode.kt │ │ │ │ │ │ └── ValdiViewNodeRef.kt │ │ │ │ │ ├── preload/ │ │ │ │ │ │ └── ValdiPreloader.kt │ │ │ │ │ ├── promise/ │ │ │ │ │ │ ├── CancelableResolvablePromise.kt │ │ │ │ │ │ ├── CppPromise.kt │ │ │ │ │ │ ├── CppPromiseCallback.kt │ │ │ │ │ │ ├── Promise.kt │ │ │ │ │ │ ├── PromiseCallback.kt │ │ │ │ │ │ ├── PromiseUtils.kt │ │ │ │ │ │ ├── RejectedPromise.kt │ │ │ │ │ │ ├── ResolvablePromise.kt │ │ │ │ │ │ └── ResolvedPromise.kt │ │ │ │ │ ├── schema/ │ │ │ │ │ │ ├── ValdiClass.kt │ │ │ │ │ │ ├── ValdiClassConstructor.kt │ │ │ │ │ │ ├── ValdiClassDelegateManager.kt │ │ │ │ │ │ ├── ValdiEnum.kt │ │ │ │ │ │ ├── ValdiEnumType.kt │ │ │ │ │ │ ├── ValdiField.kt │ │ │ │ │ │ ├── ValdiFunctionClass.kt │ │ │ │ │ │ ├── ValdiInterface.kt │ │ │ │ │ │ ├── ValdiMarshallableObjectDescriptor.kt │ │ │ │ │ │ ├── ValdiMethod.kt │ │ │ │ │ │ ├── ValdiOptionalMethod.kt │ │ │ │ │ │ ├── ValdiUntypedClass.kt │ │ │ │ │ │ ├── ValdiValueMarshallerRegistry.kt │ │ │ │ │ │ ├── ValdiValueMarshallerRegistryCpp.kt │ │ │ │ │ │ └── ValdiValueMarshallerRegistryJava.kt │ │ │ │ │ ├── snapdrawing/ │ │ │ │ │ │ ├── AnimatedImage.kt │ │ │ │ │ │ ├── PathUtils.kt │ │ │ │ │ │ ├── SnapDrawingChoreographerFrameScheduler.kt │ │ │ │ │ │ ├── SnapDrawingFontManager.kt │ │ │ │ │ │ ├── SnapDrawingFrameScheduler.kt │ │ │ │ │ │ ├── SnapDrawingOptions.kt │ │ │ │ │ │ ├── SnapDrawingRenderMode.kt │ │ │ │ │ │ ├── SnapDrawingRootHandle.kt │ │ │ │ │ │ ├── SnapDrawingRuntime.kt │ │ │ │ │ │ ├── SnapDrawingRuntimeCPP.kt │ │ │ │ │ │ ├── SnapDrawingSurfacePresenter.kt │ │ │ │ │ │ ├── SnapDrawingSurfacePresenterListener.kt │ │ │ │ │ │ ├── SnapDrawingSurfaceViewZOrder.kt │ │ │ │ │ │ ├── SnapDrawingThreadedFrameScheduler.kt │ │ │ │ │ │ ├── SurfacePresenterFactory.kt │ │ │ │ │ │ └── SurfacePresenterManager.kt │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── Encryptor.kt │ │ │ │ │ │ └── KeychainUtils.kt │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── AttributeSetXmlHelper.kt │ │ │ │ │ │ ├── AutoDisposable.kt │ │ │ │ │ │ ├── BitmapHandler.kt │ │ │ │ │ │ ├── BitmapPool.kt │ │ │ │ │ │ ├── BridgeCallUtils.kt │ │ │ │ │ │ ├── CanvasClipper.kt │ │ │ │ │ │ ├── CollectionUtils.kt │ │ │ │ │ │ ├── ColorType.kt │ │ │ │ │ │ ├── CoordinateResolver.kt │ │ │ │ │ │ ├── CppNativeHandlePair.kt │ │ │ │ │ │ ├── DelegatedLoader.kt │ │ │ │ │ │ ├── Disposable.kt │ │ │ │ │ │ ├── DisposableCallback.kt │ │ │ │ │ │ ├── DisposableLoadCompletion.kt │ │ │ │ │ │ ├── DisposablePrivate.kt │ │ │ │ │ │ ├── DisposableRunnable.kt │ │ │ │ │ │ ├── DisposableUtils.kt │ │ │ │ │ │ ├── EmptyAttributeSet.kt │ │ │ │ │ │ ├── EventTime.kt │ │ │ │ │ │ ├── ExecutorsUtil.kt │ │ │ │ │ │ ├── GeometricPath.kt │ │ │ │ │ │ ├── IAsyncWorkScheduler.kt │ │ │ │ │ │ ├── IScheduler.kt │ │ │ │ │ │ ├── InternedString.kt │ │ │ │ │ │ ├── InternedStringCPP.kt │ │ │ │ │ │ ├── InternedStringJava.kt │ │ │ │ │ │ ├── JSConversions.kt │ │ │ │ │ │ ├── JavaScriptCapturedStacktrace.kt │ │ │ │ │ │ ├── JavaScriptMemoryStatistics.kt │ │ │ │ │ │ ├── JavaScriptThreadStatus.kt │ │ │ │ │ │ ├── LoadCompletion.kt │ │ │ │ │ │ ├── LoaderDelegate.kt │ │ │ │ │ │ ├── LoggerUtils.kt │ │ │ │ │ │ ├── MainThreadUtils.kt │ │ │ │ │ │ ├── NativeHandlesManager.kt │ │ │ │ │ │ ├── NativeRef.kt │ │ │ │ │ │ ├── PathInterpolator.kt │ │ │ │ │ │ ├── QoSClass.kt │ │ │ │ │ │ ├── Ref.kt │ │ │ │ │ │ ├── SingleRunnable.kt │ │ │ │ │ │ ├── ThrottlerAsyncWorkerScheduler.kt │ │ │ │ │ │ ├── Trace.kt │ │ │ │ │ │ ├── TypedRef.kt │ │ │ │ │ │ ├── ValdiActionUtils.kt │ │ │ │ │ │ ├── ValdiAssetLoadOptions.kt │ │ │ │ │ │ ├── ValdiAssetLoader.kt │ │ │ │ │ │ ├── ValdiEnumUtils.kt │ │ │ │ │ │ ├── ValdiImage.kt │ │ │ │ │ │ ├── ValdiImageContent.kt │ │ │ │ │ │ ├── ValdiImageFactory.kt │ │ │ │ │ │ ├── ValdiImageLoadCompletion.kt │ │ │ │ │ │ ├── ValdiImageLoader.kt │ │ │ │ │ │ ├── ValdiImageWithBitmap.kt │ │ │ │ │ │ ├── ValdiImageWithContent.kt │ │ │ │ │ │ ├── ValdiImageWithDeferredContent.kt │ │ │ │ │ │ ├── ValdiJNI.kt │ │ │ │ │ │ ├── ValdiLeakTracker.kt │ │ │ │ │ │ ├── ValdiMarshallable.kt │ │ │ │ │ │ ├── ValdiMarshallableObject.kt │ │ │ │ │ │ ├── ValdiMarshaller.kt │ │ │ │ │ │ ├── ValdiMarshallerCPP.kt │ │ │ │ │ │ ├── ValdiMarshallerJava.kt │ │ │ │ │ │ ├── ValdiObjects.kt │ │ │ │ │ │ ├── ValdiRawImageResourceLoader.kt │ │ │ │ │ │ ├── ValdiTextDirectionHeuristic.kt │ │ │ │ │ │ ├── ValdiThread.kt │ │ │ │ │ │ ├── ValdiVideoLoader.kt │ │ │ │ │ │ ├── ValdiVideoPlayer.kt │ │ │ │ │ │ ├── ValdiVideoPlayerCreatedCompletion.kt │ │ │ │ │ │ ├── ViewRefSupport.kt │ │ │ │ │ │ └── executors/ │ │ │ │ │ │ └── ExecutorFactory.kt │ │ │ │ │ ├── viewmodel/ │ │ │ │ │ │ └── ValdiViewModel.kt │ │ │ │ │ ├── views/ │ │ │ │ │ │ ├── AnimatedImageView.kt │ │ │ │ │ │ ├── CustomChildViewAppender.kt │ │ │ │ │ │ ├── EdgeEffectWrapper.kt │ │ │ │ │ │ ├── ExtendedFadingEdgeRenderer.kt │ │ │ │ │ │ ├── IScrollPerfLoggerBridge.kt │ │ │ │ │ │ ├── ShapeView.kt │ │ │ │ │ │ ├── TextViewUtils.kt │ │ │ │ │ │ ├── ValdiAccessibilityDelegate.kt │ │ │ │ │ │ ├── ValdiAccessibilityDelegateHierarchy.kt │ │ │ │ │ │ ├── ValdiAssetReceiver.kt │ │ │ │ │ │ ├── ValdiClippableView.kt │ │ │ │ │ │ ├── ValdiDatePicker.kt │ │ │ │ │ │ ├── ValdiEditText.kt │ │ │ │ │ │ ├── ValdiEditTextMultiline.kt │ │ │ │ │ │ ├── ValdiForegroundHolder.kt │ │ │ │ │ │ ├── ValdiGeneratedRootView.kt │ │ │ │ │ │ ├── ValdiImageView.kt │ │ │ │ │ │ ├── ValdiIndexPicker.kt │ │ │ │ │ │ ├── ValdiMeasurer.kt │ │ │ │ │ │ ├── ValdiRecyclableView.kt │ │ │ │ │ │ ├── ValdiRootView.kt │ │ │ │ │ │ ├── ValdiScrollUtil.kt │ │ │ │ │ │ ├── ValdiScrollView.kt │ │ │ │ │ │ ├── ValdiScrollableView.kt │ │ │ │ │ │ ├── ValdiTextHolder.kt │ │ │ │ │ │ ├── ValdiTextView.kt │ │ │ │ │ │ ├── ValdiTimePicker.kt │ │ │ │ │ │ ├── ValdiTouchTarget.kt │ │ │ │ │ │ ├── ValdiVideoView.kt │ │ │ │ │ │ ├── ValdiView.kt │ │ │ │ │ │ ├── snapdrawing/ │ │ │ │ │ │ │ ├── SnapDrawingContainerView.kt │ │ │ │ │ │ │ ├── SnapDrawingEmbeddedView.kt │ │ │ │ │ │ │ ├── SnapDrawingSurfaceView.kt │ │ │ │ │ │ │ └── SnapDrawingTextureView.kt │ │ │ │ │ │ └── touches/ │ │ │ │ │ │ ├── AndroidDetectorGestureRecognizer.kt │ │ │ │ │ │ ├── AttributedTextTapGestureRecognizer.kt │ │ │ │ │ │ ├── DisallowInterceptTouchEventMode.kt │ │ │ │ │ │ ├── DoubleTapGestureRecognizer.kt │ │ │ │ │ │ ├── DragGestureRecognizer.kt │ │ │ │ │ │ ├── GestureRecognizers.kt │ │ │ │ │ │ ├── GesturesState.kt │ │ │ │ │ │ ├── LongPressGestureRecognizer.kt │ │ │ │ │ │ ├── PinchGestureDetector.kt │ │ │ │ │ │ ├── PinchGestureRecognizer.kt │ │ │ │ │ │ ├── PinchGestureRecognizerV2.kt │ │ │ │ │ │ ├── RotateGestureRecognizer.kt │ │ │ │ │ │ ├── RotateGestureRecognizerV2.kt │ │ │ │ │ │ ├── RotationGestureDetector.kt │ │ │ │ │ │ ├── ScrollViewDragGestureRecognizer.kt │ │ │ │ │ │ ├── TapGestureRecognizer.kt │ │ │ │ │ │ ├── TouchDispatcher.kt │ │ │ │ │ │ ├── TouchDispatcherImpl.kt │ │ │ │ │ │ ├── TouchDispatcherNewExperience.kt │ │ │ │ │ │ ├── TouchGestureRecognizer.kt │ │ │ │ │ │ ├── ValdiGesturePointer.kt │ │ │ │ │ │ ├── ValdiGestureRecognizer.kt │ │ │ │ │ │ └── backbutton/ │ │ │ │ │ │ └── BackButtonListener.kt │ │ │ │ │ └── workarounds/ │ │ │ │ │ └── AndroidDeviceWorkarounds.kt │ │ │ │ └── snapchat/ │ │ │ │ └── client/ │ │ │ │ └── valdi/ │ │ │ │ ├── NativeBridge.java │ │ │ │ ├── UndefinedValue.java │ │ │ │ └── utils/ │ │ │ │ ├── CppObjectWrapper.kt │ │ │ │ └── ValdiCPPAction.java │ │ │ ├── generate_interface.sh │ │ │ └── proguard-rules.pro │ │ ├── java_plugin/ │ │ │ └── processor/ │ │ │ └── ValdiAnnotationProcessor.kt │ │ └── valdi/ │ │ ├── .clang-tidy │ │ ├── android/ │ │ │ ├── AccessibilityBridge.cpp │ │ │ ├── AccessibilityBridge.hpp │ │ │ ├── AndroidAssetLoader.cpp │ │ │ ├── AndroidAssetLoader.hpp │ │ │ ├── AndroidBitmap.cpp │ │ │ ├── AndroidBitmap.hpp │ │ │ ├── AndroidBitmapFactory.cpp │ │ │ ├── AndroidBitmapFactory.hpp │ │ │ ├── AndroidDispatchQueue.cpp │ │ │ ├── AndroidDispatchQueue.hpp │ │ │ ├── AndroidKeychain.cpp │ │ │ ├── AndroidKeychain.hpp │ │ │ ├── AndroidManifest.xml │ │ │ ├── AndroidValueMarshallerRegistry.cpp │ │ │ ├── AndroidValueMarshallerRegistry.hpp │ │ │ ├── AndroidViewFactory.cpp │ │ │ ├── AndroidViewFactory.hpp │ │ │ ├── AndroidViewHolder.cpp │ │ │ ├── AndroidViewHolder.hpp │ │ │ ├── AndroidViewTransaction.cpp │ │ │ ├── AndroidViewTransaction.hpp │ │ │ ├── AnimatedImageJNI.hpp │ │ │ ├── AttributedTextJNI.hpp │ │ │ ├── AttributesBindingContextWrapper.cpp │ │ │ ├── AttributesBindingContextWrapper.hpp │ │ │ ├── AttributesJNI.hpp │ │ │ ├── CppPromiseCallbackJNI.hpp │ │ │ ├── CppPromiseJNI.hpp │ │ │ ├── DeferredViewOperations.cpp │ │ │ ├── DeferredViewOperations.hpp │ │ │ ├── FunctionTrampolineJNI.hpp │ │ │ ├── InternedStringCPP.hpp │ │ │ ├── JavaClassDelegate.cpp │ │ │ ├── JavaClassDelegate.hpp │ │ │ ├── JavaEnumClassDelegate.cpp │ │ │ ├── JavaEnumClassDelegate.hpp │ │ │ ├── JavaFunctionClassDelegate.cpp │ │ │ ├── JavaFunctionClassDelegate.hpp │ │ │ ├── JavaInterfaceClassDelegate.cpp │ │ │ ├── JavaInterfaceClassDelegate.hpp │ │ │ ├── JavaMethodClassDelegate.cpp │ │ │ ├── JavaMethodClassDelegate.hpp │ │ │ ├── JavaObjectClassDelegate.cpp │ │ │ ├── JavaObjectClassDelegate.hpp │ │ │ ├── JavaUntypedClassDelegate.cpp │ │ │ ├── JavaUntypedClassDelegate.hpp │ │ │ ├── JavaValueDelegate.cpp │ │ │ ├── JavaValueDelegate.hpp │ │ │ ├── Logger.cpp │ │ │ ├── Logger.hpp │ │ │ ├── MainThreadDispatcher.cpp │ │ │ ├── MainThreadDispatcher.hpp │ │ │ ├── MarshallerJNI.cpp │ │ │ ├── ModuleFactoryRegistryJNI.hpp │ │ │ ├── NativeBridge.cpp │ │ │ ├── NativeBridge.hpp │ │ │ ├── RegisterJNI.cpp │ │ │ ├── ResourceLoader.cpp │ │ │ ├── ResourceLoader.hpp │ │ │ ├── RuntimeListener.cpp │ │ │ ├── RuntimeListener.hpp │ │ │ ├── RuntimeManagerWrapper.cpp │ │ │ ├── RuntimeManagerWrapper.hpp │ │ │ ├── RuntimeWrapper.cpp │ │ │ ├── RuntimeWrapper.hpp │ │ │ ├── ValdiFunctionNative.hpp │ │ │ ├── ValdiMarshallableObjectDescriptorJavaClass.cpp │ │ │ ├── ValdiMarshallableObjectDescriptorJavaClass.hpp │ │ │ ├── ValueMarshallerRegistryCppJNI.hpp │ │ │ ├── ViewManager.cpp │ │ │ ├── ViewManager.hpp │ │ │ ├── dummy.cpp │ │ │ └── snap_drawing/ │ │ │ ├── AndroidScrollConstantsResolver.cpp │ │ │ ├── AndroidScrollConstantsResolver.hpp │ │ │ ├── AndroidSnapDrawingRuntime.cpp │ │ │ ├── AndroidSnapDrawingRuntime.hpp │ │ │ ├── AndroidSnapDrawingUtils.cpp │ │ │ ├── AndroidSnapDrawingUtils.hpp │ │ │ ├── AndroidSurfacePresenterManager.cpp │ │ │ ├── AndroidSurfacePresenterManager.hpp │ │ │ ├── SnapDrawingLayerRootHost.cpp │ │ │ └── SnapDrawingLayerRootHost.hpp │ │ ├── cli_runner/ │ │ │ ├── CLIRunner.cpp │ │ │ └── CLIRunner.hpp │ │ ├── hermes/ │ │ │ ├── Hermes.hpp │ │ │ ├── HermesBytecodeCache.cpp │ │ │ ├── HermesBytecodeCache.hpp │ │ │ ├── HermesDebuggerConnection.cpp │ │ │ ├── HermesDebuggerConnection.hpp │ │ │ ├── HermesDebuggerRegistry.cpp │ │ │ ├── HermesDebuggerRegistry.hpp │ │ │ ├── HermesDebuggerServer.cpp │ │ │ ├── HermesDebuggerServer.hpp │ │ │ ├── HermesJavaScriptCompiler.cpp │ │ │ ├── HermesJavaScriptCompiler.hpp │ │ │ ├── HermesJavaScriptContext.cpp │ │ │ ├── HermesJavaScriptContext.hpp │ │ │ ├── HermesJavaScriptContextFactory.cpp │ │ │ ├── HermesJavaScriptContextFactory.hpp │ │ │ ├── HermesUtils.cpp │ │ │ ├── HermesUtils.hpp │ │ │ └── WebSocketServer/ │ │ │ ├── IWebSocketConnection.hpp │ │ │ ├── IWebSocketServer.hpp │ │ │ ├── WebSocketPP.hpp │ │ │ ├── WebSocketServer.cpp │ │ │ ├── WebSocketServer.hpp │ │ │ ├── WebSocketServerConnectionImpl.cpp │ │ │ ├── WebSocketServerConnectionImpl.hpp │ │ │ ├── WebSocketServerImpl.cpp │ │ │ └── WebSocketServerImpl.hpp │ │ ├── ios/ │ │ │ ├── Action/ │ │ │ │ ├── SCValdiJSAction.h │ │ │ │ └── SCValdiJSAction.mm │ │ │ ├── Animations/ │ │ │ │ ├── SCValdiAnimator.h │ │ │ │ ├── SCValdiAnimator.m │ │ │ │ ├── SCValdiLayerAnimation.h │ │ │ │ └── SCValdiLayerAnimation.m │ │ │ ├── Bootstrap/ │ │ │ │ ├── SCValdiAppMain.h │ │ │ │ ├── SCValdiAppMain.m │ │ │ │ ├── SCValdiBootstrappingAppDelegate.h │ │ │ │ └── SCValdiBootstrappingAppDelegate.m │ │ │ ├── CPPBindings/ │ │ │ │ ├── SCValdiLoggerBridge.h │ │ │ │ ├── SCValdiLoggerBridge.mm │ │ │ │ ├── SCValdiMainThreadDispatcher.h │ │ │ │ ├── SCValdiMainThreadDispatcher.mm │ │ │ │ ├── SCValdiRuntimeListener.h │ │ │ │ ├── SCValdiRuntimeListener.mm │ │ │ │ ├── SCValdiViewManager.h │ │ │ │ ├── SCValdiViewManager.mm │ │ │ │ ├── SCValdiViewTransaction.h │ │ │ │ ├── SCValdiViewTransaction.mm │ │ │ │ ├── UIViewHolder.h │ │ │ │ └── UIViewHolder.mm │ │ │ ├── Categories/ │ │ │ │ ├── UIButton+Valdi.h │ │ │ │ ├── UIButton+Valdi.m │ │ │ │ ├── UIControl+Valdi.h │ │ │ │ ├── UIControl+Valdi.m │ │ │ │ ├── UISwitch+Valdi.h │ │ │ │ ├── UISwitch+Valdi.m │ │ │ │ ├── UIView+Valdi.h │ │ │ │ ├── UIView+Valdi.m │ │ │ │ ├── UIVisualEffectView+Valdi.h │ │ │ │ └── UIVisualEffectView+Valdi.m │ │ │ ├── Gestures/ │ │ │ │ ├── SCValdiGestureRecognizers.h │ │ │ │ └── SCValdiGestureRecognizers.mm │ │ │ ├── Info.plist │ │ │ ├── NativeModules/ │ │ │ │ ├── Drawing/ │ │ │ │ │ ├── SCValdiDrawingModuleFactory.h │ │ │ │ │ └── SCValdiDrawingModuleFactory.m │ │ │ │ ├── SCValdiApplicationModule.h │ │ │ │ ├── SCValdiApplicationModule.m │ │ │ │ ├── SCValdiBridgeModuleUtils.h │ │ │ │ ├── SCValdiBridgeModuleUtils.m │ │ │ │ ├── SCValdiDeviceModule.h │ │ │ │ └── SCValdiDeviceModule.m │ │ │ ├── Resources/ │ │ │ │ ├── SCValdiResourceLoader.h │ │ │ │ └── SCValdiResourceLoader.mm │ │ │ ├── SCValdiAssetLoader.h │ │ │ ├── SCValdiAssetLoader.mm │ │ │ ├── SCValdiAttributesBinder.h │ │ │ ├── SCValdiAttributesBinder.mm │ │ │ ├── SCValdiAutoDestroyingContext.h │ │ │ ├── SCValdiAutoDestroyingContext.m │ │ │ ├── SCValdiContext+CPP.h │ │ │ ├── SCValdiContext.h │ │ │ ├── SCValdiContext.mm │ │ │ ├── SCValdiDefaultHTTPRequestManager.h │ │ │ ├── SCValdiDefaultHTTPRequestManager.m │ │ │ ├── SCValdiDefaultImageLoader.h │ │ │ ├── SCValdiDefaultImageLoader.m │ │ │ ├── SCValdiDisposable.h │ │ │ ├── SCValdiJSRuntimeImpl.h │ │ │ ├── SCValdiJSRuntimeImpl.m │ │ │ ├── SCValdiJSWorker.h │ │ │ ├── SCValdiJSWorker.mm │ │ │ ├── SCValdiJsConvertible.h │ │ │ ├── SCValdiKeychainStore.h │ │ │ ├── SCValdiKeychainStore.m │ │ │ ├── SCValdiRuntime+Private.h │ │ │ ├── SCValdiRuntime.h │ │ │ ├── SCValdiRuntime.mm │ │ │ ├── SCValdiRuntimeManager.h │ │ │ ├── SCValdiRuntimeManager.mm │ │ │ ├── SCValdiUserDefaultsStore.h │ │ │ ├── SCValdiUserDefaultsStore.m │ │ │ ├── SCValdiViewModel.h │ │ │ ├── SCValdiViewNode+CPP.h │ │ │ ├── SCValdiViewNode.h │ │ │ ├── SCValdiViewNode.mm │ │ │ ├── SnapDrawing/ │ │ │ │ ├── AnimatedImage/ │ │ │ │ │ ├── SCSnapDrawingAnimatedImage+CPP.h │ │ │ │ │ ├── SCSnapDrawingAnimatedImage.h │ │ │ │ │ ├── SCSnapDrawingAnimatedImage.mm │ │ │ │ │ ├── SCSnapDrawingAnimatedImageView.h │ │ │ │ │ └── SCSnapDrawingAnimatedImageView.mm │ │ │ │ ├── SCSnapDrawingUIView+CPP.h │ │ │ │ ├── SCSnapDrawingUIView.h │ │ │ │ ├── SCSnapDrawingUIView.mm │ │ │ │ ├── SCValdiSnapDrawingRuntime.h │ │ │ │ ├── SCValdiSnapDrawingRuntime.mm │ │ │ │ ├── SCValdiSnapDrawingSurfacePresenterManager.h │ │ │ │ ├── SCValdiSnapDrawingSurfacePresenterManager.mm │ │ │ │ ├── SCValdiSurfacePresenterView.h │ │ │ │ └── SCValdiSurfacePresenterView.m │ │ │ ├── Text/ │ │ │ │ ├── NSAttributedString+Valdi.h │ │ │ │ ├── NSAttributedString+Valdi.m │ │ │ │ ├── SCValdiAttributedText.h │ │ │ │ ├── SCValdiAttributedText.mm │ │ │ │ ├── SCValdiAttributedTextHelper.h │ │ │ │ ├── SCValdiAttributedTextHelper.m │ │ │ │ ├── SCValdiFont.h │ │ │ │ ├── SCValdiFont.m │ │ │ │ ├── SCValdiFontAttributes.h │ │ │ │ ├── SCValdiFontAttributes.m │ │ │ │ ├── SCValdiFontManager.h │ │ │ │ ├── SCValdiFontManager.m │ │ │ │ ├── SCValdiImageAttachmentInfo.h │ │ │ │ ├── SCValdiImageAttachmentInfo.m │ │ │ │ ├── SCValdiOnLayoutAttribute.h │ │ │ │ ├── SCValdiOnLayoutAttribute.m │ │ │ │ ├── SCValdiOnTapAttribute.h │ │ │ │ ├── SCValdiOnTapAttribute.m │ │ │ │ ├── SCValdiTextLayout.h │ │ │ │ └── SCValdiTextLayout.m │ │ │ ├── Utils/ │ │ │ │ ├── ContextUtils.h │ │ │ │ ├── ContextUtils.mm │ │ │ │ ├── GradientUtils.h │ │ │ │ ├── GradientUtils.m │ │ │ │ ├── SCValdiCapturedJSStacktrace.h │ │ │ │ ├── SCValdiCapturedJSStacktrace.m │ │ │ │ ├── SCValdiImageFilter.h │ │ │ │ ├── SCValdiImageFilter.mm │ │ │ │ ├── SCValdiViewFactoryImpl.h │ │ │ │ └── SCValdiViewFactoryImpl.mm │ │ │ ├── Valdi.h │ │ │ └── Views/ │ │ │ ├── SCValdiActivityIndicatorView.h │ │ │ ├── SCValdiActivityIndicatorView.m │ │ │ ├── SCValdiAnimatedContentView.h │ │ │ ├── SCValdiAnimatedContentView.mm │ │ │ ├── SCValdiBlurView.h │ │ │ ├── SCValdiBlurView.m │ │ │ ├── SCValdiDatePicker.h │ │ │ ├── SCValdiDatePicker.m │ │ │ ├── SCValdiDatePickerUtils.h │ │ │ ├── SCValdiDatePickerUtils.m │ │ │ ├── SCValdiDateTimePicker.h │ │ │ ├── SCValdiDateTimePicker.m │ │ │ ├── SCValdiIScrollPerfLoggerBridgeFactory.h │ │ │ ├── SCValdiIndexPicker.h │ │ │ ├── SCValdiIndexPicker.m │ │ │ ├── SCValdiLabel.h │ │ │ ├── SCValdiLabel.m │ │ │ ├── SCValdiShapeView.h │ │ │ ├── SCValdiShapeView.m │ │ │ ├── SCValdiTextField.h │ │ │ ├── SCValdiTextField.m │ │ │ ├── SCValdiTextView.h │ │ │ ├── SCValdiTextView.m │ │ │ ├── SCValdiTextViewEffectsLayoutManager.h │ │ │ ├── SCValdiTextViewEffectsLayoutManager.m │ │ │ ├── SCValdiTimePicker.h │ │ │ └── SCValdiTimePicker.m │ │ ├── jni/ │ │ │ ├── JavaThread.cpp │ │ │ └── JavaThread.hpp │ │ ├── jsbridge/ │ │ │ ├── JavaScriptBridge.cpp │ │ │ └── JavaScriptBridge.hpp │ │ ├── jscore/ │ │ │ ├── JSCoreCustomClasses.cpp │ │ │ ├── JSCoreCustomClasses.hpp │ │ │ ├── JSCoreDebuggerProxy.cpp │ │ │ ├── JSCoreDebuggerProxy.hpp │ │ │ ├── JSCoreUtils.cpp │ │ │ ├── JSCoreUtils.hpp │ │ │ ├── JavaScriptCoreContext.cpp │ │ │ ├── JavaScriptCoreContext.hpp │ │ │ ├── JavaScriptCoreContextFactory.cpp │ │ │ └── JavaScriptCoreContextFactory.hpp │ │ ├── macos/ │ │ │ ├── Bootstrap/ │ │ │ │ ├── SCValdiAppMain.h │ │ │ │ ├── SCValdiAppMain.m │ │ │ │ ├── SCValdiBootstrappingAppDelegate.m │ │ │ │ └── SCValdiBootstrappingNSAppDelegate.h │ │ │ ├── MacOSSnapDrawingRuntime.h │ │ │ ├── MacOSSnapDrawingRuntime.mm │ │ │ ├── SCDirectoryUtils.h │ │ │ ├── SCDirectoryUtils.mm │ │ │ ├── SCValdiCursorUpdater.h │ │ │ ├── SCValdiCursorUpdater.m │ │ │ ├── SCValdiDefaultHTTPRequestManager.h │ │ │ ├── SCValdiDefaultHTTPRequestManager.mm │ │ │ ├── SCValdiMacOSAttributesBinder.h │ │ │ ├── SCValdiMacOSAttributesBinder.mm │ │ │ ├── SCValdiMacOSFunction.h │ │ │ ├── SCValdiMacOSFunction.mm │ │ │ ├── SCValdiMacOSStringsBridgeModule.h │ │ │ ├── SCValdiMacOSStringsBridgeModule.mm │ │ │ ├── SCValdiMacOSSurfacePresenterManager.h │ │ │ ├── SCValdiMacOSSurfacePresenterManager.mm │ │ │ ├── SCValdiMacOSViewManager.h │ │ │ ├── SCValdiMacOSViewManager.mm │ │ │ ├── SCValdiObjCUtils.h │ │ │ ├── SCValdiObjCUtils.mm │ │ │ ├── SCValdiRuntime.h │ │ │ ├── SCValdiRuntime.mm │ │ │ ├── SCValdiSnapDrawingNSView.h │ │ │ ├── SCValdiSnapDrawingNSView.mm │ │ │ └── Views/ │ │ │ ├── SCValdiMacOSTextField.h │ │ │ ├── SCValdiMacOSTextField.m │ │ │ ├── SCValdiSurfacePresenterView.h │ │ │ └── SCValdiSurfacePresenterView.m │ │ ├── quickjs/ │ │ │ ├── QuickJSJavaScriptContext.cpp │ │ │ ├── QuickJSJavaScriptContext.hpp │ │ │ ├── QuickJSJavaScriptContextFactory.cpp │ │ │ ├── QuickJSJavaScriptContextFactory.hpp │ │ │ ├── QuickJSUtils.cpp │ │ │ └── QuickJSUtils.hpp │ │ ├── runtime/ │ │ │ ├── Attributes/ │ │ │ │ ├── AccessibilityAttributes.cpp │ │ │ │ ├── AccessibilityAttributes.hpp │ │ │ │ ├── Animator.cpp │ │ │ │ ├── Animator.hpp │ │ │ │ ├── AssetAttributes.cpp │ │ │ │ ├── AssetAttributes.hpp │ │ │ │ ├── AttributeHandler.cpp │ │ │ │ ├── AttributeHandler.hpp │ │ │ │ ├── AttributeHandlerDelegate.cpp │ │ │ │ ├── AttributeHandlerDelegate.hpp │ │ │ │ ├── AttributeHandlerDelegateWithCallable.cpp │ │ │ │ ├── AttributeHandlerDelegateWithCallable.hpp │ │ │ │ ├── AttributeId.hpp │ │ │ │ ├── AttributeIds.cpp │ │ │ │ ├── AttributeIds.hpp │ │ │ │ ├── AttributeOwner.cpp │ │ │ │ ├── AttributeOwner.hpp │ │ │ │ ├── AttributePostprocessor.cpp │ │ │ │ ├── AttributePostprocessor.hpp │ │ │ │ ├── AttributePreprocessor.cpp │ │ │ │ ├── AttributePreprocessor.hpp │ │ │ │ ├── AttributeValue.cpp │ │ │ │ ├── AttributeValue.hpp │ │ │ │ ├── AttributesApplier.cpp │ │ │ │ ├── AttributesApplier.hpp │ │ │ │ ├── AttributesBinderHelper.cpp │ │ │ │ ├── AttributesBinderHelper.hpp │ │ │ │ ├── AttributesBindingContext.cpp │ │ │ │ ├── AttributesBindingContext.hpp │ │ │ │ ├── AttributesBindingContextImpl.cpp │ │ │ │ ├── AttributesBindingContextImpl.hpp │ │ │ │ ├── AttributesManager.cpp │ │ │ │ ├── AttributesManager.hpp │ │ │ │ ├── BorderRadius.cpp │ │ │ │ ├── BorderRadius.hpp │ │ │ │ ├── BoundAttributes.cpp │ │ │ │ ├── BoundAttributes.hpp │ │ │ │ ├── CompositeAttribute.cpp │ │ │ │ ├── CompositeAttribute.hpp │ │ │ │ ├── CompositeAttributeUtils.cpp │ │ │ │ ├── CompositeAttributeUtils.hpp │ │ │ │ ├── DefaultAttributeProcessors.cpp │ │ │ │ ├── DefaultAttributeProcessors.hpp │ │ │ │ ├── DefaultAttributes.cpp │ │ │ │ ├── DefaultAttributes.hpp │ │ │ │ ├── NoOpDefaultAttributeHandler.cpp │ │ │ │ ├── NoOpDefaultAttributeHandler.hpp │ │ │ │ ├── PreprocessorCache.cpp │ │ │ │ ├── PreprocessorCache.hpp │ │ │ │ ├── PreprocessorCacheKey.cpp │ │ │ │ ├── PreprocessorCacheKey.hpp │ │ │ │ ├── ScrollAttributes.cpp │ │ │ │ ├── ScrollAttributes.hpp │ │ │ │ ├── TextAttributeValueParser.cpp │ │ │ │ ├── TextAttributeValueParser.hpp │ │ │ │ ├── ValueConverters.cpp │ │ │ │ ├── ValueConverters.hpp │ │ │ │ ├── ViewNodeAttribute.cpp │ │ │ │ ├── ViewNodeAttribute.hpp │ │ │ │ ├── ViewNodeAttributesApplier.cpp │ │ │ │ ├── ViewNodeAttributesApplier.hpp │ │ │ │ └── Yoga/ │ │ │ │ ├── YGEdgesAttributeHandlerDelegate.cpp │ │ │ │ ├── YGEdgesAttributeHandlerDelegate.hpp │ │ │ │ ├── YGEnumAttributeHandlerDelegate.cpp │ │ │ │ ├── YGEnumAttributeHandlerDelegate.hpp │ │ │ │ ├── YGFloatOptionalAttributeHandlerDelegate.cpp │ │ │ │ ├── YGFloatOptionalAttributeHandlerDelegate.hpp │ │ │ │ ├── YGValueAttributeHandlerDelegate.cpp │ │ │ │ ├── YGValueAttributeHandlerDelegate.hpp │ │ │ │ ├── Yoga.cpp │ │ │ │ ├── Yoga.hpp │ │ │ │ ├── YogaAttributeHandlerDelegate.cpp │ │ │ │ ├── YogaAttributeHandlerDelegate.hpp │ │ │ │ ├── YogaAttributes.cpp │ │ │ │ ├── YogaAttributes.hpp │ │ │ │ ├── YogaGetterSetterAttributeHandlerDelegate.cpp │ │ │ │ └── YogaGetterSetterAttributeHandlerDelegate.hpp │ │ │ ├── CSS/ │ │ │ │ ├── CSSAttributes.cpp │ │ │ │ ├── CSSAttributes.hpp │ │ │ │ ├── CSSAttributesManager.cpp │ │ │ │ ├── CSSAttributesManager.hpp │ │ │ │ ├── CSSDocument.cpp │ │ │ │ ├── CSSDocument.hpp │ │ │ │ ├── CSSNode.cpp │ │ │ │ ├── CSSNode.hpp │ │ │ │ ├── CSSNodeParentResolver.hpp │ │ │ │ ├── StyleAttributesCache.cpp │ │ │ │ └── StyleAttributesCache.hpp │ │ │ ├── Context/ │ │ │ │ ├── AttributionResolver.cpp │ │ │ │ ├── AttributionResolver.hpp │ │ │ │ ├── Context.cpp │ │ │ │ ├── Context.hpp │ │ │ │ ├── ContextAttachedValdiObject.cpp │ │ │ │ ├── ContextAttachedValdiObject.hpp │ │ │ │ ├── ContextAutoDestroy.cpp │ │ │ │ ├── ContextAutoDestroy.hpp │ │ │ │ ├── ContextComponentRenderer.cpp │ │ │ │ ├── ContextComponentRenderer.hpp │ │ │ │ ├── ContextEntry.cpp │ │ │ │ ├── ContextEntry.hpp │ │ │ │ ├── ContextHandler.cpp │ │ │ │ ├── ContextHandler.hpp │ │ │ │ ├── ContextManager.cpp │ │ │ │ ├── ContextManager.hpp │ │ │ │ ├── IViewNodeAssetHandler.hpp │ │ │ │ ├── IViewNodesAssetTracker.hpp │ │ │ │ ├── RawViewNodeId.hpp │ │ │ │ ├── RenderingBackendType.cpp │ │ │ │ ├── RenderingBackendType.hpp │ │ │ │ ├── ViewManagerContext.cpp │ │ │ │ ├── ViewManagerContext.hpp │ │ │ │ ├── ViewNode.cpp │ │ │ │ ├── ViewNode.hpp │ │ │ │ ├── ViewNodeAccessibility.cpp │ │ │ │ ├── ViewNodeAccessibility.hpp │ │ │ │ ├── ViewNodeAccessibilityState.cpp │ │ │ │ ├── ViewNodeAccessibilityState.hpp │ │ │ │ ├── ViewNodeAssetHandler.cpp │ │ │ │ ├── ViewNodeAssetHandler.hpp │ │ │ │ ├── ViewNodeChildrenIndexer.cpp │ │ │ │ ├── ViewNodeChildrenIndexer.hpp │ │ │ │ ├── ViewNodePath.cpp │ │ │ │ ├── ViewNodePath.hpp │ │ │ │ ├── ViewNodeScrollState.cpp │ │ │ │ ├── ViewNodeScrollState.hpp │ │ │ │ ├── ViewNodeTree.cpp │ │ │ │ ├── ViewNodeTree.hpp │ │ │ │ ├── ViewNodeTreeManager.cpp │ │ │ │ ├── ViewNodeTreeManager.hpp │ │ │ │ ├── ViewNodeViewStats.cpp │ │ │ │ ├── ViewNodeViewStats.hpp │ │ │ │ ├── ViewNodesFrameObserver.cpp │ │ │ │ ├── ViewNodesFrameObserver.hpp │ │ │ │ ├── ViewNodesVisibilityObserver.cpp │ │ │ │ └── ViewNodesVisibilityObserver.hpp │ │ │ ├── Debugger/ │ │ │ │ ├── BoostAsioUtils.cpp │ │ │ │ ├── BoostAsioUtils.hpp │ │ │ │ ├── DaemonClient.cpp │ │ │ │ ├── DaemonClient.hpp │ │ │ │ ├── DebuggerService.cpp │ │ │ │ ├── DebuggerService.hpp │ │ │ │ ├── IDaemonClient.hpp │ │ │ │ ├── IDebuggerServiceListener.hpp │ │ │ │ ├── ITCPConnection.hpp │ │ │ │ ├── ITCPServer.hpp │ │ │ │ ├── TCPClient.cpp │ │ │ │ ├── TCPClient.hpp │ │ │ │ ├── TCPConnectionImpl.cpp │ │ │ │ ├── TCPConnectionImpl.hpp │ │ │ │ ├── TCPServer.cpp │ │ │ │ ├── TCPServer.hpp │ │ │ │ ├── TCPServerConnectionImpl.cpp │ │ │ │ ├── TCPServerConnectionImpl.hpp │ │ │ │ ├── TCPServerImpl.cpp │ │ │ │ └── TCPServerImpl.hpp │ │ │ ├── ErrorCodes.hpp │ │ │ ├── IRuntimeListener.hpp │ │ │ ├── Interfaces/ │ │ │ │ ├── IDiskCache.hpp │ │ │ │ ├── IJavaScriptBridge.hpp │ │ │ │ ├── IJavaScriptContext.cpp │ │ │ │ ├── IJavaScriptContext.hpp │ │ │ │ ├── IRemoteDownloader.hpp │ │ │ │ ├── IResourceLoader.hpp │ │ │ │ ├── ITweakValueProvider.hpp │ │ │ │ ├── IViewManager.hpp │ │ │ │ └── IViewTransaction.hpp │ │ │ ├── JavaScript/ │ │ │ │ ├── JSFunctionExportMode.hpp │ │ │ │ ├── JSFunctionWithCallable.cpp │ │ │ │ ├── JSFunctionWithCallable.hpp │ │ │ │ ├── JSFunctionWithMethod.cpp │ │ │ │ ├── JSFunctionWithMethod.hpp │ │ │ │ ├── JSFunctionWithValueFunction.cpp │ │ │ │ ├── JSFunctionWithValueFunction.hpp │ │ │ │ ├── JSPromise.cpp │ │ │ │ ├── JSPromise.hpp │ │ │ │ ├── JSPropertyNameIndex.cpp │ │ │ │ ├── JSPropertyNameIndex.hpp │ │ │ │ ├── JSValueRefHolder.cpp │ │ │ │ ├── JSValueRefHolder.hpp │ │ │ │ ├── JavaScriptANRDetector.cpp │ │ │ │ ├── JavaScriptANRDetector.hpp │ │ │ │ ├── JavaScriptAssetLoadObserver.cpp │ │ │ │ ├── JavaScriptAssetLoadObserver.hpp │ │ │ │ ├── JavaScriptBridgedObjectLeakTracker.cpp │ │ │ │ ├── JavaScriptBridgedObjectLeakTracker.hpp │ │ │ │ ├── JavaScriptCapturedStacktrace.cpp │ │ │ │ ├── JavaScriptCapturedStacktrace.hpp │ │ │ │ ├── JavaScriptCircularRefChecker.hpp │ │ │ │ ├── JavaScriptComponentContextHandler.cpp │ │ │ │ ├── JavaScriptComponentContextHandler.hpp │ │ │ │ ├── JavaScriptContextEntryPoint.cpp │ │ │ │ ├── JavaScriptContextEntryPoint.hpp │ │ │ │ ├── JavaScriptErrorStackTrace.cpp │ │ │ │ ├── JavaScriptErrorStackTrace.hpp │ │ │ │ ├── JavaScriptFunctionCallContext.cpp │ │ │ │ ├── JavaScriptFunctionCallContext.hpp │ │ │ │ ├── JavaScriptHeapDumpBuilder.cpp │ │ │ │ ├── JavaScriptHeapDumpBuilder.hpp │ │ │ │ ├── JavaScriptLong.cpp │ │ │ │ ├── JavaScriptLong.hpp │ │ │ │ ├── JavaScriptModuleContainer.cpp │ │ │ │ ├── JavaScriptModuleContainer.hpp │ │ │ │ ├── JavaScriptRuntime.cpp │ │ │ │ ├── JavaScriptRuntime.hpp │ │ │ │ ├── JavaScriptRuntimeDeserializers.cpp │ │ │ │ ├── JavaScriptRuntimeDeserializers.hpp │ │ │ │ ├── JavaScriptStringCache.cpp │ │ │ │ ├── JavaScriptStringCache.hpp │ │ │ │ ├── JavaScriptTaskScheduler.cpp │ │ │ │ ├── JavaScriptTaskScheduler.hpp │ │ │ │ ├── JavaScriptTypes.cpp │ │ │ │ ├── JavaScriptTypes.hpp │ │ │ │ ├── JavaScriptUtils.cpp │ │ │ │ ├── JavaScriptUtils.hpp │ │ │ │ ├── JavaScriptValueDelegate.cpp │ │ │ │ ├── JavaScriptValueDelegate.hpp │ │ │ │ ├── JavaScriptValueMarshaller.cpp │ │ │ │ ├── JavaScriptValueMarshaller.hpp │ │ │ │ ├── JavaScriptWorker.cpp │ │ │ │ ├── JavaScriptWorker.hpp │ │ │ │ ├── Modules/ │ │ │ │ │ ├── AttributedTextNativeModuleFactory.cpp │ │ │ │ │ ├── AttributedTextNativeModuleFactory.hpp │ │ │ │ │ ├── FileSystemFactory.cpp │ │ │ │ │ ├── FileSystemFactory.hpp │ │ │ │ │ ├── JavaScriptModuleFactory.hpp │ │ │ │ │ ├── JavaScriptModuleFactoryBridge.cpp │ │ │ │ │ ├── JavaScriptModuleFactoryBridge.hpp │ │ │ │ │ ├── PersistentStore.cpp │ │ │ │ │ ├── PersistentStore.hpp │ │ │ │ │ ├── PersistentStoreModuleFactory.cpp │ │ │ │ │ ├── PersistentStoreModuleFactory.hpp │ │ │ │ │ ├── ProtobufArena.cpp │ │ │ │ │ ├── ProtobufArena.hpp │ │ │ │ │ ├── ProtobufMessageFactory.cpp │ │ │ │ │ ├── ProtobufMessageFactory.hpp │ │ │ │ │ ├── ProtobufModule.cpp │ │ │ │ │ ├── ProtobufModule.hpp │ │ │ │ │ ├── ProtobufModuleFactory.cpp │ │ │ │ │ ├── ProtobufModuleFactory.hpp │ │ │ │ │ ├── TCPSocketModuleFactory.cpp │ │ │ │ │ ├── TCPSocketModuleFactory.hpp │ │ │ │ │ ├── UnicodeModuleFactory.cpp │ │ │ │ │ └── UnicodeModuleFactory.hpp │ │ │ │ ├── ValueFunctionWithJSValue.cpp │ │ │ │ ├── ValueFunctionWithJSValue.hpp │ │ │ │ ├── WrappedJSValueRef.cpp │ │ │ │ └── WrappedJSValueRef.hpp │ │ │ ├── Metrics/ │ │ │ │ ├── Metrics.cpp │ │ │ │ └── Metrics.hpp │ │ │ ├── Rendering/ │ │ │ │ ├── AnimationOptions.cpp │ │ │ │ ├── AnimationOptions.hpp │ │ │ │ ├── RenderRequest.cpp │ │ │ │ ├── RenderRequest.hpp │ │ │ │ ├── RenderRequestEntries.cpp │ │ │ │ ├── RenderRequestEntries.hpp │ │ │ │ ├── ViewNodeRenderer.cpp │ │ │ │ └── ViewNodeRenderer.hpp │ │ │ ├── Resources/ │ │ │ │ ├── AssetBytesStore.cpp │ │ │ │ ├── AssetBytesStore.hpp │ │ │ │ ├── AssetCatalog.cpp │ │ │ │ ├── AssetCatalog.hpp │ │ │ │ ├── AssetConsumer.cpp │ │ │ │ ├── AssetConsumer.hpp │ │ │ │ ├── AssetDensityResolver.cpp │ │ │ │ ├── AssetDensityResolver.hpp │ │ │ │ ├── AssetKey.cpp │ │ │ │ ├── AssetKey.hpp │ │ │ │ ├── AssetLoader.cpp │ │ │ │ ├── AssetLoader.hpp │ │ │ │ ├── AssetLoaderCompletion.cpp │ │ │ │ ├── AssetLoaderCompletion.hpp │ │ │ │ ├── AssetLoaderFactory.hpp │ │ │ │ ├── AssetLoaderManager.cpp │ │ │ │ ├── AssetLoaderManager.hpp │ │ │ │ ├── AssetLoaderRemoteDownloaderAdapter.cpp │ │ │ │ ├── AssetLoaderRemoteDownloaderAdapter.hpp │ │ │ │ ├── AssetLoaderRequestHandler.cpp │ │ │ │ ├── AssetLoaderRequestHandler.hpp │ │ │ │ ├── AssetLoaderRequestHandlerListener.hpp │ │ │ │ ├── AssetRequestPayloadCache.cpp │ │ │ │ ├── AssetRequestPayloadCache.hpp │ │ │ │ ├── AssetResolver.cpp │ │ │ │ ├── AssetResolver.hpp │ │ │ │ ├── AssetsManager.cpp │ │ │ │ ├── AssetsManager.hpp │ │ │ │ ├── AssetsManagerTransaction.cpp │ │ │ │ ├── AssetsManagerTransaction.hpp │ │ │ │ ├── Bundle.cpp │ │ │ │ ├── Bundle.hpp │ │ │ │ ├── BytesAsset.cpp │ │ │ │ ├── BytesAsset.hpp │ │ │ │ ├── BytesAssetLoader.cpp │ │ │ │ ├── BytesAssetLoader.hpp │ │ │ │ ├── DirectionalAsset.cpp │ │ │ │ ├── DirectionalAsset.hpp │ │ │ │ ├── DiskCacheImpl.cpp │ │ │ │ ├── DiskCacheImpl.hpp │ │ │ │ ├── EncryptedDiskCache.cpp │ │ │ │ ├── EncryptedDiskCache.hpp │ │ │ │ ├── IResourceManagerListener.hpp │ │ │ │ ├── KeyValueStore.cpp │ │ │ │ ├── KeyValueStore.hpp │ │ │ │ ├── ManagedAsset.cpp │ │ │ │ ├── ManagedAsset.hpp │ │ │ │ ├── ObservableAsset.cpp │ │ │ │ ├── ObservableAsset.hpp │ │ │ │ ├── PlatformSpecificAsset.cpp │ │ │ │ ├── PlatformSpecificAsset.hpp │ │ │ │ ├── Remote/ │ │ │ │ │ ├── DownloadableModuleManifestWrapper.cpp │ │ │ │ │ ├── DownloadableModuleManifestWrapper.hpp │ │ │ │ │ ├── IRemoteDownloaderItemHandler.hpp │ │ │ │ │ ├── RemoteDownloader.cpp │ │ │ │ │ ├── RemoteDownloader.hpp │ │ │ │ │ ├── RemoteDownloaderRequest.cpp │ │ │ │ │ ├── RemoteDownloaderRequest.hpp │ │ │ │ │ ├── RemoteDownloaderTask.cpp │ │ │ │ │ ├── RemoteDownloaderTask.hpp │ │ │ │ │ ├── RemoteModuleManager.cpp │ │ │ │ │ ├── RemoteModuleManager.hpp │ │ │ │ │ ├── RemoteModulePrefetchTask.cpp │ │ │ │ │ ├── RemoteModulePrefetchTask.hpp │ │ │ │ │ ├── RemoteModuleResources.cpp │ │ │ │ │ └── RemoteModuleResources.hpp │ │ │ │ ├── RemoteDownloaderToAssetLoaderAdapter.cpp │ │ │ │ ├── RemoteDownloaderToAssetLoaderAdapter.hpp │ │ │ │ ├── Resource.cpp │ │ │ │ ├── Resource.hpp │ │ │ │ ├── ResourceManager.cpp │ │ │ │ ├── ResourceManager.hpp │ │ │ │ ├── ResourceReloaderThrottler.cpp │ │ │ │ ├── ResourceReloaderThrottler.hpp │ │ │ │ ├── UserSession.cpp │ │ │ │ ├── UserSession.hpp │ │ │ │ ├── ValdiModuleArchive.cpp │ │ │ │ ├── ValdiModuleArchive.hpp │ │ │ │ ├── ZStdUtils.cpp │ │ │ │ └── ZStdUtils.hpp │ │ │ ├── Runtime.cpp │ │ │ ├── Runtime.hpp │ │ │ ├── RuntimeManager.cpp │ │ │ ├── RuntimeManager.hpp │ │ │ ├── Text/ │ │ │ │ ├── Emoji.cpp │ │ │ │ ├── Emoji.hpp │ │ │ │ └── Emoji_Gen.hpp │ │ │ ├── Utils/ │ │ │ │ ├── ArrayValdiObject.hpp │ │ │ │ ├── AsyncGroup.cpp │ │ │ │ ├── AsyncGroup.hpp │ │ │ │ ├── BridgeLogger.cpp │ │ │ │ ├── BridgeLogger.hpp │ │ │ │ ├── BridgedObjectsManager.cpp │ │ │ │ ├── BridgedObjectsManager.hpp │ │ │ │ ├── BytesUtils.cpp │ │ │ │ ├── BytesUtils.hpp │ │ │ │ ├── DataEncryptor.cpp │ │ │ │ ├── DataEncryptor.hpp │ │ │ │ ├── Disposable.hpp │ │ │ │ ├── DisposableGroup.cpp │ │ │ │ ├── DisposableGroup.hpp │ │ │ │ ├── DumpedLogs.cpp │ │ │ │ ├── DumpedLogs.hpp │ │ │ │ ├── HTTPRequestManagerUtils.cpp │ │ │ │ ├── HTTPRequestManagerUtils.hpp │ │ │ │ ├── HexUtils.cpp │ │ │ │ ├── HexUtils.hpp │ │ │ │ ├── MainThreadManager.cpp │ │ │ │ ├── MainThreadManager.hpp │ │ │ │ ├── MapValdiObject.hpp │ │ │ │ ├── RefCountableAutoreleasePool.cpp │ │ │ │ ├── RefCountableAutoreleasePool.hpp │ │ │ │ ├── SafeReentrantContainer.hpp │ │ │ │ ├── SharedAtomic.hpp │ │ │ │ ├── SharedContainers.hpp │ │ │ │ ├── ShutdownUtils.cpp │ │ │ │ └── ShutdownUtils.hpp │ │ │ ├── ValdiBuildFlags.hpp │ │ │ ├── ValdiRuntimeTweaks.cpp │ │ │ ├── ValdiRuntimeTweaks.hpp │ │ │ └── Views/ │ │ │ ├── DefaultMeasureDelegate.cpp │ │ │ ├── DefaultMeasureDelegate.hpp │ │ │ ├── DeferredViewTransaction.cpp │ │ │ ├── DeferredViewTransaction.hpp │ │ │ ├── Frame.cpp │ │ │ ├── Frame.hpp │ │ │ ├── GlobalViewFactories.cpp │ │ │ ├── GlobalViewFactories.hpp │ │ │ ├── Measure.cpp │ │ │ ├── Measure.hpp │ │ │ ├── MeasureDelegate.hpp │ │ │ ├── PlaceholderViewMeasureDelegate.cpp │ │ │ ├── PlaceholderViewMeasureDelegate.hpp │ │ │ ├── View.cpp │ │ │ ├── View.hpp │ │ │ ├── ViewAttributeHandlerDelegate.cpp │ │ │ ├── ViewAttributeHandlerDelegate.hpp │ │ │ ├── ViewFactory.cpp │ │ │ ├── ViewFactory.hpp │ │ │ ├── ViewPreloader.cpp │ │ │ ├── ViewPreloader.hpp │ │ │ ├── ViewTransactionScope.cpp │ │ │ └── ViewTransactionScope.hpp │ │ ├── snap_drawing/ │ │ │ ├── Animations/ │ │ │ │ ├── ValdiAnimator.cpp │ │ │ │ └── ValdiAnimator.hpp │ │ │ ├── BridgedView.cpp │ │ │ ├── BridgedView.hpp │ │ │ ├── Graphics/ │ │ │ │ ├── ShaderCache.cpp │ │ │ │ └── ShaderCache.hpp │ │ │ ├── ImageLoading/ │ │ │ │ ├── AnimatedImageLoaderFactory.cpp │ │ │ │ ├── AnimatedImageLoaderFactory.hpp │ │ │ │ ├── ImageCache.cpp │ │ │ │ ├── ImageCache.hpp │ │ │ │ ├── ImageCacheItem.cpp │ │ │ │ ├── ImageCacheItem.hpp │ │ │ │ ├── ImageLoader.cpp │ │ │ │ ├── ImageLoader.hpp │ │ │ │ ├── ImageLoaderBridge.cpp │ │ │ │ ├── ImageLoaderBridge.hpp │ │ │ │ ├── ImageLoaderFactory.cpp │ │ │ │ ├── ImageLoaderFactory.hpp │ │ │ │ ├── ImageLoaderTask.cpp │ │ │ │ └── ImageLoaderTask.hpp │ │ │ ├── Layers/ │ │ │ │ ├── BridgeLayer.cpp │ │ │ │ ├── BridgeLayer.hpp │ │ │ │ ├── Classes/ │ │ │ │ │ ├── AnimatedImageLayerClass.cpp │ │ │ │ │ ├── AnimatedImageLayerClass.hpp │ │ │ │ │ ├── ImageLayerClass.cpp │ │ │ │ │ ├── ImageLayerClass.hpp │ │ │ │ │ ├── LayerClass.cpp │ │ │ │ │ ├── LayerClass.hpp │ │ │ │ │ ├── LayoutLayerClass.cpp │ │ │ │ │ ├── LayoutLayerClass.hpp │ │ │ │ │ ├── ScrollLayerClass.cpp │ │ │ │ │ ├── ScrollLayerClass.hpp │ │ │ │ │ ├── SpinnerLayerClass.cpp │ │ │ │ │ ├── SpinnerLayerClass.hpp │ │ │ │ │ ├── TextLayerClass.cpp │ │ │ │ │ ├── TextLayerClass.hpp │ │ │ │ │ ├── ValdiShapeLayerClass.cpp │ │ │ │ │ └── ValdiShapeLayerClass.hpp │ │ │ │ ├── Interfaces/ │ │ │ │ │ ├── ILayerClass.cpp │ │ │ │ │ └── ILayerClass.hpp │ │ │ │ ├── ValdiLayer.cpp │ │ │ │ ├── ValdiLayer.hpp │ │ │ │ ├── ValdiShapeLayer.cpp │ │ │ │ └── ValdiShapeLayer.hpp │ │ │ ├── Modules/ │ │ │ │ ├── BitmapNativeModuleFactory.cpp │ │ │ │ ├── BitmapNativeModuleFactory.hpp │ │ │ │ ├── FontManagerNativeModuleFactory.cpp │ │ │ │ ├── FontManagerNativeModuleFactory.hpp │ │ │ │ ├── ManagedContextNativeModuleFactory.cpp │ │ │ │ ├── ManagedContextNativeModuleFactory.hpp │ │ │ │ ├── SnapDrawingModuleFactoriesProvider.cpp │ │ │ │ └── SnapDrawingModuleFactoriesProvider.hpp │ │ │ ├── Runtime.cpp │ │ │ ├── Runtime.hpp │ │ │ ├── SnapDrawingLayerHolder.cpp │ │ │ ├── SnapDrawingLayerHolder.hpp │ │ │ ├── SnapDrawingViewManager.cpp │ │ │ ├── SnapDrawingViewManager.hpp │ │ │ ├── SnapDrawingViewTransaction.cpp │ │ │ ├── SnapDrawingViewTransaction.hpp │ │ │ ├── Text/ │ │ │ │ ├── FontResolverWithRuntimeManager.cpp │ │ │ │ └── FontResolverWithRuntimeManager.hpp │ │ │ └── Utils/ │ │ │ ├── AttributedTextParser.cpp │ │ │ ├── AttributedTextParser.hpp │ │ │ ├── AttributesBinderMacros.hpp │ │ │ ├── AttributesBinderUtils.cpp │ │ │ ├── AttributesBinderUtils.hpp │ │ │ ├── ValdiUtils.cpp │ │ │ └── ValdiUtils.hpp │ │ ├── standalone/ │ │ │ └── main.cpp │ │ ├── standalone_desktop/ │ │ │ ├── AppDelegate.h │ │ │ ├── AppDelegate.m │ │ │ ├── Info.plist │ │ │ ├── NativeModules.h │ │ │ ├── NativeModules.m │ │ │ ├── README.md │ │ │ ├── ValdiDesktopModuleInit.h │ │ │ └── main.m │ │ ├── standalone_runtime/ │ │ │ ├── Arguments.cpp │ │ │ ├── Arguments.hpp │ │ │ ├── ArgumentsParser.cpp │ │ │ ├── ArgumentsParser.hpp │ │ │ ├── BridgeModules/ │ │ │ │ ├── ApplicationModule.cpp │ │ │ │ ├── ApplicationModule.hpp │ │ │ │ ├── DeviceModule.cpp │ │ │ │ └── DeviceModule.hpp │ │ │ ├── InMemoryDiskCache.cpp │ │ │ ├── InMemoryDiskCache.hpp │ │ │ ├── InMemoryKeychain.cpp │ │ │ ├── InMemoryKeychain.hpp │ │ │ ├── SignalHandler.cpp │ │ │ ├── SignalHandler.hpp │ │ │ ├── StandaloneAssetLoader.cpp │ │ │ ├── StandaloneAssetLoader.hpp │ │ │ ├── StandaloneExitCoordinator.cpp │ │ │ ├── StandaloneExitCoordinator.hpp │ │ │ ├── StandaloneGlobalScrollPerfLoggerBridgeModuleFactory.cpp │ │ │ ├── StandaloneGlobalScrollPerfLoggerBridgeModuleFactory.hpp │ │ │ ├── StandaloneLoadedAsset.cpp │ │ │ ├── StandaloneLoadedAsset.hpp │ │ │ ├── StandaloneMainQueue.cpp │ │ │ ├── StandaloneMainQueue.hpp │ │ │ ├── StandaloneNodeRef.cpp │ │ │ ├── StandaloneNodeRef.hpp │ │ │ ├── StandaloneResourceLoader.cpp │ │ │ ├── StandaloneResourceLoader.hpp │ │ │ ├── StandaloneView.cpp │ │ │ ├── StandaloneView.hpp │ │ │ ├── StandaloneViewManager.cpp │ │ │ ├── StandaloneViewManager.hpp │ │ │ ├── StandaloneViewTransaction.cpp │ │ │ ├── StandaloneViewTransaction.hpp │ │ │ ├── ValdiStandaloneMain.cpp │ │ │ ├── ValdiStandaloneMain.hpp │ │ │ ├── ValdiStandaloneRuntime.cpp │ │ │ └── ValdiStandaloneRuntime.hpp │ │ ├── startup_benchmark/ │ │ │ ├── README.md │ │ │ └── main.cpp │ │ ├── swift/ │ │ │ ├── SwiftValdiRuntimeManager.h │ │ │ └── SwiftValdiRuntimeManager.mm │ │ └── v8/ │ │ ├── HeapDumpOutputStream.cpp │ │ ├── HeapDumpOutputStream.hpp │ │ ├── IndirectV8Persistent.cpp │ │ ├── IndirectV8Persistent.hpp │ │ ├── V8JavaScriptContext.cpp │ │ ├── V8JavaScriptContext.hpp │ │ ├── V8JavaScriptContextFactory.cpp │ │ └── V8JavaScriptContextFactory.hpp │ ├── test/ │ │ ├── benchmark/ │ │ │ ├── JavaScriptHeapDump_benchmark.cpp │ │ │ ├── ProtobufBenchmark.cpp │ │ │ ├── ViewNode_benchmark.cpp │ │ │ ├── map_benchmark.cpp │ │ │ ├── runtime_benchmark.cpp │ │ │ ├── string_benchmark.cpp │ │ │ └── utils/ │ │ │ ├── benchmark_utils.cpp │ │ │ └── benchmark_utils.hpp │ │ ├── hermes/ │ │ │ └── HermesBytecodeCache_tests.cpp │ │ ├── integration/ │ │ │ ├── JSBridgeTestFixture.cpp │ │ │ ├── JSBridgeTestFixture.hpp │ │ │ ├── JSIntegrationTests.cpp │ │ │ ├── JSIntegrationTestsUtils.cpp │ │ │ ├── JSIntegrationTestsUtils.hpp │ │ │ ├── RuntimeTestsUtils.cpp │ │ │ ├── RuntimeTestsUtils.hpp │ │ │ ├── Runtime_tests.cpp │ │ │ ├── StandaloneRuntime_tests.cpp │ │ │ ├── TSNTestUtils.cpp │ │ │ ├── TSNTestUtils.hpp │ │ │ └── TypeScript_tests.cpp │ │ ├── ios/ │ │ │ ├── Info.plist │ │ │ ├── SCValdiMarshallerTests.m │ │ │ ├── SCValdiRuntimeTests.mm │ │ │ └── SCValdiViewManagerTests.mm │ │ ├── ios_swift/ │ │ │ ├── AsyncValdiRuntimeTests.swift │ │ │ └── SwiftValdiMarshallerTests.swift │ │ ├── java/ │ │ │ ├── extensions/ │ │ │ │ └── ViewUtilsTest.kt │ │ │ ├── jsmodules/ │ │ │ │ └── InvokeWithJSRuntimeTest.kt │ │ │ └── utils/ │ │ │ └── JSConversionsTest.kt │ │ ├── macos/ │ │ │ ├── SCValdiDesktopModuleInitTests.mm │ │ │ ├── SCValdiMacOSViewManagerTests.mm │ │ │ └── SCValdiNativeModulesStub.mm │ │ ├── runtime/ │ │ │ ├── AssetLoaderManager_tests.cpp │ │ │ ├── AssetsManager_tests.cpp │ │ │ ├── AttributeParser_tests.cpp │ │ │ ├── AttributeProcessors_tests.cpp │ │ │ ├── AutoMalloc_tests.cpp │ │ │ ├── BridgedObjects_tests.cpp │ │ │ ├── ByteBuffer_tests.cpp │ │ │ ├── CharacterSet_tests.cpp │ │ │ ├── CppGeneratedClass_tests.cpp │ │ │ ├── DaemonClient_tests.cpp │ │ │ ├── DataEncryptor_tests.cpp │ │ │ ├── DebuggerService_tests.cpp │ │ │ ├── DiskCache_tests.cpp │ │ │ ├── Emoji_tests.cpp │ │ │ ├── EncryptedDiskCache_tests.cpp │ │ │ ├── Future_tests.cpp │ │ │ ├── HexUtils_tests.cpp │ │ │ ├── JavaScriptANRDetector_tests.cpp │ │ │ ├── JavaScriptHeapDump_tests.cpp │ │ │ ├── JavaScriptTypes_tests.cpp │ │ │ ├── LRUCache_tests.cpp │ │ │ ├── LinkedList_tests.cpp │ │ │ ├── Marshaller_tests.cpp │ │ │ ├── Measure_tests.cpp │ │ │ ├── ObjectPool_tests.cpp │ │ │ ├── PathUtils_tests.cpp │ │ │ ├── PersistentStoreModuleFactory_tests.cpp │ │ │ ├── PersistentStore_tests.cpp │ │ │ ├── RefCountableAutoreleasePool_tests.cpp │ │ │ ├── ReferenceInfo_tests.cpp │ │ │ ├── ReferenceTable_tests.cpp │ │ │ ├── RegisteredCppGeneratedClass_tests.cpp │ │ │ ├── RemoteModuleManagerTests.cpp │ │ │ ├── Result_tests.cpp │ │ │ ├── SharedPtr_tests.cpp │ │ │ ├── StaticString_tests.cpp │ │ │ ├── StringCache_tests.cpp │ │ │ ├── TextParser_tests.cpp │ │ │ ├── Threading_tests.cpp │ │ │ ├── Tracer_tests.cpp │ │ │ ├── Tweaks_tests.cpp │ │ │ ├── UTF_tests.cpp │ │ │ ├── UnicodeSequenceTrie_tests.cpp │ │ │ ├── ValdiArchive_tests.cpp │ │ │ ├── ValueArray_tests.cpp │ │ │ ├── ValueMarshallerRegistry_tests.cpp │ │ │ ├── ValueSchema_tests.cpp │ │ │ ├── ValueUtils_tests.cpp │ │ │ ├── Value_tests.cpp │ │ │ ├── ViewNodeAccessibility_tests.cpp │ │ │ └── ViewNode_tests.cpp │ │ ├── snap_drawing/ │ │ │ ├── ImageCache_tests.cpp │ │ │ └── ImageLoader_tests.cpp │ │ └── utils/ │ │ ├── BlockingAssetCompletionHandler.cpp │ │ ├── BlockingAssetCompletionHandler.hpp │ │ ├── MockAssetLoader.cpp │ │ ├── MockAssetLoader.hpp │ │ ├── MockAssetLoaderFactory.cpp │ │ ├── MockAssetLoaderFactory.hpp │ │ ├── MockDownloader.cpp │ │ ├── MockDownloader.hpp │ │ ├── RequestManagerMock.cpp │ │ ├── RequestManagerMock.hpp │ │ ├── TestANRDetectorListener.cpp │ │ ├── TestANRDetectorListener.hpp │ │ ├── TestAsyncUtils.cpp │ │ ├── TestAsyncUtils.hpp │ │ ├── ViewNodeTestsUtils.cpp │ │ ├── ViewNodeTestsUtils.hpp │ │ ├── valdi_test_utils.cpp │ │ └── valdi_test_utils.hpp │ ├── testdata/ │ │ ├── pb/ │ │ │ ├── card_34.data │ │ │ ├── card_51.data │ │ │ └── card_60.data │ │ └── resources/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .terserrc.json │ │ ├── generated/ │ │ │ └── valdi/ │ │ │ └── assets/ │ │ │ └── valdi_core.map.json │ │ ├── modules/ │ │ │ ├── local/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── src/ │ │ │ │ ├── RemoteAsyncLoadComponent.vue │ │ │ │ ├── RemoteComponentInLocalComponent.vue │ │ │ │ └── RemoteScriptInLocalComponent.vue │ │ │ ├── remote/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── module.yaml │ │ │ │ └── src/ │ │ │ │ ├── LocalComponentInRemoteComponent.vue │ │ │ │ ├── RemoteComponent.vue │ │ │ │ ├── RemoteImage.vue │ │ │ │ ├── RemoteKebabImage.vue │ │ │ │ ├── RemoteScriptInRemoteComponent.vue │ │ │ │ └── RemoteTS.ts │ │ │ ├── remote_assets/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── src/ │ │ │ │ └── RemoteAsset.tsx │ │ │ ├── startup_benchmark/ │ │ │ │ ├── BUILD.bazel │ │ │ │ └── src/ │ │ │ │ └── StartupBenchmark.tsx │ │ │ ├── test/ │ │ │ │ ├── BUILD.bazel │ │ │ │ ├── load_strategy.json │ │ │ │ ├── src/ │ │ │ │ │ ├── @fakescope/ │ │ │ │ │ │ └── ModuleLoaderTestChildScoped.ts │ │ │ │ │ ├── ANRDetection.tsx │ │ │ │ │ ├── AssetLoading.vue │ │ │ │ │ ├── AttributedError.tsx │ │ │ │ │ ├── BasicViewTree.vue │ │ │ │ │ ├── BidirectionalAttributes.vue │ │ │ │ │ ├── BundledAsset.tsx │ │ │ │ │ ├── CSSAttributes.vue │ │ │ │ │ ├── CSSBenchmark.vue │ │ │ │ │ ├── CallCallbackOnRender.tsx │ │ │ │ │ ├── ChildDocument.vue │ │ │ │ │ ├── ColorPaletteTest.tsx │ │ │ │ │ ├── CombinedForEachRenderIf.vue │ │ │ │ │ ├── ComponentInsideSlot.vue │ │ │ │ │ ├── ComponentWithMissingDependency.tsx │ │ │ │ │ ├── CompositeAttributes.vue │ │ │ │ │ ├── CompositeAttributesRaw.vue │ │ │ │ │ ├── ConflictAttributeChild.vue │ │ │ │ │ ├── ConflictingAttributeParent.vue │ │ │ │ │ ├── DeferredViewClass.tsx │ │ │ │ │ ├── DelayedErrorModule.ts │ │ │ │ │ ├── DestroyRefOnChildContext.ts │ │ │ │ │ ├── DirectionalAsset.tsx │ │ │ │ │ ├── DumpLogTest.tsx │ │ │ │ │ ├── DynamicAttributes.vue │ │ │ │ │ ├── DynamicChildDocument.vue │ │ │ │ │ ├── ES6.vue │ │ │ │ │ ├── ErrorHandler.ts │ │ │ │ │ ├── ErrorModule.ts │ │ │ │ │ ├── ErrorPropagation.ts │ │ │ │ │ ├── ExportedModel.d.ts │ │ │ │ │ ├── FlexBox.vue │ │ │ │ │ ├── ForEach.vue │ │ │ │ │ ├── ForEachKeyItem.vue │ │ │ │ │ ├── ForEachKeys.vue │ │ │ │ │ ├── ForEachWithComponents.vue │ │ │ │ │ ├── Indexing.vue │ │ │ │ │ ├── InfiniteLoop.ts │ │ │ │ │ ├── JSCallback.vue │ │ │ │ │ ├── JSInstance.vue │ │ │ │ │ ├── JSLabel.vue │ │ │ │ │ ├── JsCalculator.ts │ │ │ │ │ ├── LayoutInvalidation.vue │ │ │ │ │ ├── LayoutNodes.vue │ │ │ │ │ ├── LazyLayout.tsx │ │ │ │ │ ├── LimitToViewportChildComponent.vue │ │ │ │ │ ├── LimitToViewportChildComponentParent.vue │ │ │ │ │ ├── LimitToViewportChildOfChild.vue │ │ │ │ │ ├── LimitToViewportChildOfChildParent.vue │ │ │ │ │ ├── LimitToViewportChildren.vue │ │ │ │ │ ├── LimitToViewportContainer.vue │ │ │ │ │ ├── LimitToViewportTranslate.tsx │ │ │ │ │ ├── LoadFile.ts │ │ │ │ │ ├── LongTest.ts │ │ │ │ │ ├── MainThread.vue │ │ │ │ │ ├── Margin.vue │ │ │ │ │ ├── Microtask.ts │ │ │ │ │ ├── ModuleLoaderTest.ts │ │ │ │ │ ├── ModuleLoaderTestChild.ts │ │ │ │ │ ├── ModulePreload.tsx │ │ │ │ │ ├── MyWorker.ts │ │ │ │ │ ├── NativeCalculator.d.ts │ │ │ │ │ ├── NativeModule.ts │ │ │ │ │ ├── NativeModuleReference.tsx │ │ │ │ │ ├── NativeNode.tsx │ │ │ │ │ ├── NestedSlots.vue │ │ │ │ │ ├── NestedSlotsChild.vue │ │ │ │ │ ├── NestedSlotsParent.vue │ │ │ │ │ ├── NodePath.vue │ │ │ │ │ ├── OnLayout.vue │ │ │ │ │ ├── OnLayoutComplete.tsx │ │ │ │ │ ├── PlatformSpecificAsset.tsx │ │ │ │ │ ├── Promise.ts │ │ │ │ │ ├── RTLScrollView.vue │ │ │ │ │ ├── RenderIf.vue │ │ │ │ │ ├── RenderIfChildDocument.vue │ │ │ │ │ ├── RetainNativeRefs.vue │ │ │ │ │ ├── SingleCall.ts │ │ │ │ │ ├── SlotApplyAttribute.vue │ │ │ │ │ ├── SlotApplyAttributeParent.vue │ │ │ │ │ ├── SlotChild.vue │ │ │ │ │ ├── SlotRenderIfChild.vue │ │ │ │ │ ├── SlotRenderIfParent.vue │ │ │ │ │ ├── SlotTest.vue │ │ │ │ │ ├── StaticAttributes.vue │ │ │ │ │ ├── StyleTest.tsx │ │ │ │ │ ├── TextAttribute.tsx │ │ │ │ │ ├── TypeConverterTest.ts │ │ │ │ │ ├── UnmarshalledViewModelChild.vue │ │ │ │ │ ├── UnmarshalledViewModelParent.vue │ │ │ │ │ ├── ViewCallbacks.vue │ │ │ │ │ ├── ViewModelAtInitChild.vue │ │ │ │ │ ├── ViewModelAtInitParent.vue │ │ │ │ │ ├── ViewportUpdates.tsx │ │ │ │ │ ├── WorkerTest.tsx │ │ │ │ │ ├── WrapNativeObject.ts │ │ │ │ │ └── test_json.json │ │ │ │ └── tsconfig.json │ │ │ └── test2/ │ │ │ ├── BUILD.bazel │ │ │ └── src/ │ │ │ └── TestImport.vue │ │ └── package.json │ ├── v8-playground/ │ │ └── main.cpp │ ├── valdi.bzl │ ├── valdi.djinni │ ├── vscode_debugger/ │ │ ├── .ci/ │ │ │ ├── common-validation.yml │ │ │ ├── nightly.yml │ │ │ ├── pipeline.yml │ │ │ ├── slow-tests.yml │ │ │ └── stable.yml │ │ ├── .eslintrc.js │ │ ├── .gitattributes │ │ ├── .github/ │ │ │ └── workflows/ │ │ │ └── codeql-analysis.yml │ │ ├── .gitignore │ │ ├── .nvmrc │ │ ├── .vscodeignore │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── README.nightly.md │ │ ├── demos/ │ │ │ ├── babel/ │ │ │ │ ├── main.js │ │ │ │ ├── package.json │ │ │ │ └── test.ts │ │ │ ├── express/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── app.js │ │ │ │ ├── bin/ │ │ │ │ │ └── www │ │ │ │ ├── package.json │ │ │ │ ├── public/ │ │ │ │ │ ├── javascripts/ │ │ │ │ │ │ └── index.js │ │ │ │ │ └── stylesheets/ │ │ │ │ │ └── style.css │ │ │ │ ├── routes/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── users.js │ │ │ │ └── views/ │ │ │ │ ├── error.pug │ │ │ │ ├── index.pug │ │ │ │ └── layout.pug │ │ │ ├── extension/ │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── extension.ts │ │ │ │ │ └── test/ │ │ │ │ │ ├── runTest.ts │ │ │ │ │ └── suite/ │ │ │ │ │ ├── extension.test.ts │ │ │ │ │ └── index.ts │ │ │ │ └── tsconfig.json │ │ │ ├── node/ │ │ │ │ ├── child.js │ │ │ │ ├── cluster.js │ │ │ │ ├── crasher.js │ │ │ │ ├── main.js │ │ │ │ ├── micromatch.js │ │ │ │ ├── package.json │ │ │ │ └── parent.js │ │ │ ├── node-ts/ │ │ │ │ ├── .gitignore │ │ │ │ ├── package.json │ │ │ │ └── src/ │ │ │ │ ├── index.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── tslint.json │ │ │ ├── oopif/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── pretty-print/ │ │ │ │ ├── README.md │ │ │ │ └── package.json │ │ │ ├── simple-html/ │ │ │ │ └── index.html │ │ │ ├── web-worker/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── index.html │ │ │ │ ├── main.js │ │ │ │ ├── package.json │ │ │ │ └── worker.js │ │ │ ├── web-worker-ts/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── dummy.js │ │ │ │ ├── package.json │ │ │ │ └── src/ │ │ │ │ ├── index.html │ │ │ │ ├── main.ts │ │ │ │ ├── nested/ │ │ │ │ │ └── foo.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── worker.ts │ │ │ ├── webpack/ │ │ │ │ ├── .nvmrc │ │ │ │ ├── index.html │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── consume-lib.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── lib.ts │ │ │ │ ├── webpack.lib.js │ │ │ │ ├── webpack.node.js │ │ │ │ └── webpack.web.js │ │ │ ├── webview/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── WebView2Sample/ │ │ │ │ │ ├── HelloWebView.cpp │ │ │ │ │ ├── WebView2Sample.vcxproj │ │ │ │ │ ├── WebView2Sample.vcxproj.filters │ │ │ │ │ └── packages.config │ │ │ │ ├── WebView2Sample.sln │ │ │ │ ├── index.html │ │ │ │ └── index.js │ │ │ └── workspace.code-workspace │ │ ├── gulpfile.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── adapter/ │ │ │ │ ├── asyncStackPolicy.ts │ │ │ │ ├── breakpointPredictor.ts │ │ │ │ ├── breakpoints/ │ │ │ │ │ ├── breakpointBase.ts │ │ │ │ │ ├── conditions/ │ │ │ │ │ │ ├── hitCount.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── logPoint.ts │ │ │ │ │ │ ├── runtimeLogPoint.ts │ │ │ │ │ │ └── simple.ts │ │ │ │ │ ├── entryBreakpoint.ts │ │ │ │ │ ├── neverResolvedBreakpoint.ts │ │ │ │ │ ├── patternEntrypointBreakpoint.ts │ │ │ │ │ └── userDefinedBreakpoint.ts │ │ │ │ ├── breakpoints.ts │ │ │ │ ├── completions.ts │ │ │ │ ├── customBreakpoints.ts │ │ │ │ ├── debugAdapter.ts │ │ │ │ ├── evaluator.ts │ │ │ │ ├── messageFormat.ts │ │ │ │ ├── objectPreview/ │ │ │ │ │ ├── betterTypes.ts │ │ │ │ │ ├── contexts.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── profileController.ts │ │ │ │ ├── profiling/ │ │ │ │ │ ├── basicCpuProfiler.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── resourceProvider/ │ │ │ │ │ ├── basicResourceProvider.ts │ │ │ │ │ ├── helpers.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── resourceProviderState.ts │ │ │ │ │ └── statefulResourceProvider.ts │ │ │ │ ├── scriptSkipper/ │ │ │ │ │ ├── implementation.ts │ │ │ │ │ └── scriptSkipper.ts │ │ │ │ ├── selfProfile.ts │ │ │ │ ├── smartStepping.ts │ │ │ │ ├── sources.ts │ │ │ │ ├── stackTrace.ts │ │ │ │ ├── templates/ │ │ │ │ │ ├── enumerateProperties.ts │ │ │ │ │ ├── getArrayProperties.ts │ │ │ │ │ ├── getArraySlots.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── invokeGetter.ts │ │ │ │ │ ├── previewThis.ts │ │ │ │ │ └── serializeForClipboard.ts │ │ │ │ ├── threads.ts │ │ │ │ ├── variables.ts │ │ │ │ └── vueFileMapper.ts │ │ │ ├── binder.ts │ │ │ ├── build/ │ │ │ │ ├── dapCustom.ts │ │ │ │ ├── documentReadme.ts │ │ │ │ ├── generate-contributions.ts │ │ │ │ ├── generateCdp.ts │ │ │ │ ├── generateDap.ts │ │ │ │ ├── generateUtils.ts │ │ │ │ └── strings.ts │ │ │ ├── cdp/ │ │ │ │ ├── api.d.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── gzipPipeTransport.ts │ │ │ │ ├── rawPipeTransport.ts │ │ │ │ ├── telemetryClassification.d.ts │ │ │ │ ├── transport.ts │ │ │ │ └── webSocketTransport.ts │ │ │ ├── common/ │ │ │ │ ├── budgetStringBuilder.ts │ │ │ │ ├── cancellation.ts │ │ │ │ ├── console.ts │ │ │ │ ├── contributionUtils.ts │ │ │ │ ├── datastructure/ │ │ │ │ │ ├── mapUsingProjection.ts │ │ │ │ │ └── observableMap.ts │ │ │ │ ├── defaultBrowserProvider.ts │ │ │ │ ├── disposable.ts │ │ │ │ ├── environmentVars.ts │ │ │ │ ├── events.ts │ │ │ │ ├── fileGlobList.ts │ │ │ │ ├── findOpenPort.ts │ │ │ │ ├── fsUtils.ts │ │ │ │ ├── hash/ │ │ │ │ │ ├── hash.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── hrnow.ts │ │ │ │ ├── logging/ │ │ │ │ │ ├── consoleLogSink.ts │ │ │ │ │ ├── fileLogSink.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── logger.ts │ │ │ │ │ ├── proxyLogSink.ts │ │ │ │ │ ├── proxyLogger.ts │ │ │ │ │ ├── stdoutLogSink.ts │ │ │ │ │ └── testLogSink.ts │ │ │ │ ├── objUtils.ts │ │ │ │ ├── pathUtils.ts │ │ │ │ ├── processUtils.ts │ │ │ │ ├── promiseUtil.ts │ │ │ │ ├── sourceMaps/ │ │ │ │ │ ├── codeSearchStrategy.ts │ │ │ │ │ ├── mtimeCorrelatedCache.ts │ │ │ │ │ ├── nodeSearchStrategy.ts │ │ │ │ │ ├── sourceMap.ts │ │ │ │ │ ├── sourceMapFactory.ts │ │ │ │ │ ├── sourceMapRepository.ts │ │ │ │ │ └── sourceMapResolutionUtils.ts │ │ │ │ ├── sourcePathResolver.ts │ │ │ │ ├── sourceUtils.ts │ │ │ │ ├── stringUtils.ts │ │ │ │ └── urlUtils.ts │ │ │ ├── configuration.ts │ │ │ ├── dap/ │ │ │ │ ├── api.d.ts │ │ │ │ ├── connection.ts │ │ │ │ ├── error.d.ts │ │ │ │ ├── errors.ts │ │ │ │ ├── pending-api.ts │ │ │ │ ├── telemetryClassification.d.ts │ │ │ │ └── transport.ts │ │ │ ├── debugServer.ts │ │ │ ├── debugServerMain.ts │ │ │ ├── extension.ts │ │ │ ├── flatSessionLauncher.ts │ │ │ ├── ioc-extras.ts │ │ │ ├── ioc.ts │ │ │ ├── sessionManager.ts │ │ │ ├── statistics/ │ │ │ │ └── breakpointsStatistics.ts │ │ │ ├── targets/ │ │ │ │ ├── browser/ │ │ │ │ │ ├── browserArgs.ts │ │ │ │ │ ├── browserAttacher.ts │ │ │ │ │ ├── browserLaunchParams.ts │ │ │ │ │ ├── browserLauncher.ts │ │ │ │ │ ├── browserPathResolver.ts │ │ │ │ │ ├── browserTargets.ts │ │ │ │ │ ├── chromeLauncher.ts │ │ │ │ │ ├── constructInspectorWSUri.ts │ │ │ │ │ ├── edgeLauncher.ts │ │ │ │ │ ├── frames.ts │ │ │ │ │ ├── launcher.ts │ │ │ │ │ ├── remoteBrowserLauncher.ts │ │ │ │ │ ├── serviceWorkers.ts │ │ │ │ │ ├── spawn/ │ │ │ │ │ │ ├── browserProcess.ts │ │ │ │ │ │ └── endpoints.ts │ │ │ │ │ └── unelevatedChome.ts │ │ │ │ ├── delegate/ │ │ │ │ │ ├── delegateLauncher.ts │ │ │ │ │ └── delegateLauncherFactory.ts │ │ │ │ ├── node/ │ │ │ │ │ ├── autoAttachLauncher.ts │ │ │ │ │ ├── bootloader/ │ │ │ │ │ │ ├── environment.ts │ │ │ │ │ │ ├── filters.ts │ │ │ │ │ │ └── logger.ts │ │ │ │ │ ├── bootloader.ts │ │ │ │ │ ├── callback-file.ts │ │ │ │ │ ├── extensionHostAttacher.ts │ │ │ │ │ ├── extensionHostLauncher.ts │ │ │ │ │ ├── killTree.ts │ │ │ │ │ ├── lease-file.ts │ │ │ │ │ ├── nodeAttacher.ts │ │ │ │ │ ├── nodeAttacherBase.ts │ │ │ │ │ ├── nodeAttacherCluster.ts │ │ │ │ │ ├── nodeBinaryProvider.ts │ │ │ │ │ ├── nodeLauncher.ts │ │ │ │ │ ├── nodeLauncherBase.ts │ │ │ │ │ ├── nodeSourcePathResolver.ts │ │ │ │ │ ├── nodeTarget.ts │ │ │ │ │ ├── nvmResolver.ts │ │ │ │ │ ├── processLauncher.ts │ │ │ │ │ ├── program.ts │ │ │ │ │ ├── restartPolicy.ts │ │ │ │ │ ├── subprocessProgramLauncher.ts │ │ │ │ │ ├── terminalNodeLauncher.ts │ │ │ │ │ ├── terminalProgramLauncher.ts │ │ │ │ │ ├── terminateProcess.sh │ │ │ │ │ ├── watchdog.ts │ │ │ │ │ └── watchdogSpawn.ts │ │ │ │ ├── sourceMapOverrides.ts │ │ │ │ ├── sourcePathResolver.ts │ │ │ │ ├── sourcePathResolverFactory.ts │ │ │ │ ├── targetOrigin.ts │ │ │ │ ├── targets.ts │ │ │ │ └── valdi/ │ │ │ │ ├── autoAttachLauncher.ts │ │ │ │ ├── bootloader/ │ │ │ │ │ ├── environment.ts │ │ │ │ │ ├── filters.ts │ │ │ │ │ └── logger.ts │ │ │ │ ├── bootloader.ts │ │ │ │ ├── callback-file.ts │ │ │ │ ├── extensionHostAttacher.ts │ │ │ │ ├── extensionHostLauncher.ts │ │ │ │ ├── killTree.ts │ │ │ │ ├── lease-file.ts │ │ │ │ ├── nodeAttacher.ts │ │ │ │ ├── nodeAttacherBase.ts │ │ │ │ ├── nodeAttacherCluster.ts │ │ │ │ ├── nodeLauncher.ts │ │ │ │ ├── nodeLauncherBase.ts │ │ │ │ ├── nodeSourcePathResolver.ts │ │ │ │ ├── nodeTarget.ts │ │ │ │ ├── nvmResolver.ts │ │ │ │ ├── processLauncher.ts │ │ │ │ ├── program.ts │ │ │ │ ├── restartPolicy.ts │ │ │ │ ├── subprocessProgramLauncher.ts │ │ │ │ ├── terminalNodeLauncher.ts │ │ │ │ ├── terminalProgramLauncher.ts │ │ │ │ ├── terminateProcess.sh │ │ │ │ ├── watchdog.ts │ │ │ │ └── watchdogSpawn.ts │ │ │ ├── telemetry/ │ │ │ │ ├── classification.ts │ │ │ │ ├── dapTelemetryReporter.ts │ │ │ │ ├── nullTelemetryReporter.ts │ │ │ │ ├── opsReportBatch.ts │ │ │ │ ├── performance.ts │ │ │ │ ├── telemetryReporter.ts │ │ │ │ └── unhandledErrorReporter.ts │ │ │ ├── test/ │ │ │ │ ├── breakpoints/ │ │ │ │ │ ├── breakpoints-break-on-load-in-js-file-without-sourcemap.txt │ │ │ │ │ ├── breakpoints-breakpoint-placement-end-function-stmt-babel.txt │ │ │ │ │ ├── breakpoints-breakpoint-placement-end-function-stmt-tsc.txt │ │ │ │ │ ├── breakpoints-breakpoint-placement-first-function-stmt-babel.txt │ │ │ │ │ ├── breakpoints-breakpoint-placement-first-function-stmt-tsc.txt │ │ │ │ │ ├── breakpoints-condition-basic.txt │ │ │ │ │ ├── breakpoints-condition-ignores-bp-with-invalid-condition.txt │ │ │ │ │ ├── breakpoints-condition-invalid.txt │ │ │ │ │ ├── breakpoints-configure-absolute-paths-in-source-maps.txt │ │ │ │ │ ├── breakpoints-configure-inline.txt │ │ │ │ │ ├── breakpoints-configure-query-params.txt │ │ │ │ │ ├── breakpoints-configure-remove.txt │ │ │ │ │ ├── breakpoints-configure-script.txt │ │ │ │ │ ├── breakpoints-configure-source-map-predicted.txt │ │ │ │ │ ├── breakpoints-configure-source-map.txt │ │ │ │ │ ├── breakpoints-custom-inner-html.txt │ │ │ │ │ ├── breakpoints-first-line-breaks-if-requested.txt │ │ │ │ │ ├── breakpoints-first-line-does-not-break-if-not-requested.txt │ │ │ │ │ ├── breakpoints-gets-correct-line-number-with-babel-code-407.txt │ │ │ │ │ ├── breakpoints-handles-hot-transpiled-modules.txt │ │ │ │ │ ├── breakpoints-hit-condition-exact.txt │ │ │ │ │ ├── breakpoints-hit-condition-greater-than.txt │ │ │ │ │ ├── breakpoints-hit-condition-invalid.txt │ │ │ │ │ ├── breakpoints-hit-condition-less-than.txt │ │ │ │ │ ├── breakpoints-hit-count-can-change-after-set.txt │ │ │ │ │ ├── breakpoints-hit-count-can-change-breakpoint-after-being-set.txt │ │ │ │ │ ├── breakpoints-hit-count-does-not-validate-or-hit-invalid-breakpoint.txt │ │ │ │ │ ├── breakpoints-hit-count-works-for-valid.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-adjusts-breakpoints-after-already-running-524.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-adjusts-breakpoints.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-breaks-on-first-line.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-does-not-adjust-already-correct.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-user-defined-bp-on-first-line.txt │ │ │ │ │ ├── breakpoints-hot-transpiled-works-in-remote-workspaces.txt │ │ │ │ │ ├── breakpoints-launched-inline.txt │ │ │ │ │ ├── breakpoints-launched-overwrite.txt │ │ │ │ │ ├── breakpoints-launched-ref.txt │ │ │ │ │ ├── breakpoints-launched-remove.txt │ │ │ │ │ ├── breakpoints-launched-script.txt │ │ │ │ │ ├── breakpoints-launched-sets-breakpoints-in-sourcemapped-nodemodules-with-absolute-root.txt │ │ │ │ │ ├── breakpoints-launched-sets-breakpoints-in-sourcemapped-nodemodules.txt │ │ │ │ │ ├── breakpoints-launched-source-map-remove.txt │ │ │ │ │ ├── breakpoints-launched-source-map-set-compiled-2.txt │ │ │ │ │ ├── breakpoints-launched-source-map-set-compiled.txt │ │ │ │ │ ├── breakpoints-launched-source-map.txt │ │ │ │ │ ├── breakpoints-lazy-async-stack-sets-eagerly-on-bp.txt │ │ │ │ │ ├── breakpoints-lazy-async-stack-sets-stack-on-pause.txt │ │ │ │ │ ├── breakpoints-logpoints-basic.txt │ │ │ │ │ ├── breakpoints-logpoints-no-double-log.txt │ │ │ │ │ ├── breakpoints-logpoints-returnvalue.txt │ │ │ │ │ ├── breakpoints-restart-frame.txt │ │ │ │ │ ├── breakpoints-stop-on-entry-on-ts-file-reports-as-entry.txt │ │ │ │ │ ├── breakpoints-user-defined-bp-on-first-line-with-stop-on-entry-on-ts-file-reports-as-breakpoint.txt │ │ │ │ │ ├── breakpoints-vue-projects.txt │ │ │ │ │ └── breakpointsTest.ts │ │ │ │ ├── browser/ │ │ │ │ │ ├── browser-args.test.ts │ │ │ │ │ ├── browser-launch-environment-variables.txt │ │ │ │ │ ├── browser-launch-runtime-args.txt │ │ │ │ │ ├── browser-launch.test.ts │ │ │ │ │ ├── browserPathResolverTest.ts │ │ │ │ │ ├── frames-hierarchy.txt │ │ │ │ │ └── framesTest.ts │ │ │ │ ├── common/ │ │ │ │ │ ├── cancellation.test.ts │ │ │ │ │ ├── cdpTransport.test.ts │ │ │ │ │ ├── defaultBrowserProvider.test.ts │ │ │ │ │ ├── environmentVars.test.ts │ │ │ │ │ ├── logging.test.ts │ │ │ │ │ ├── mapUsingProjection.test.ts │ │ │ │ │ ├── pathUtils.test.ts │ │ │ │ │ ├── sourceMapOverrides.test.ts │ │ │ │ │ ├── sourceMapRepository.test.ts │ │ │ │ │ └── urlUtils.test.ts │ │ │ │ ├── completion/ │ │ │ │ │ └── completion.test.ts │ │ │ │ ├── console/ │ │ │ │ │ ├── console-api-format-format-string.txt │ │ │ │ │ ├── console-api-format-string.txt │ │ │ │ │ ├── console-format-array.txt │ │ │ │ │ ├── console-format-bigint.txt │ │ │ │ │ ├── console-format-class.txt │ │ │ │ │ ├── console-format-collections.txt │ │ │ │ │ ├── console-format-colors.txt │ │ │ │ │ ├── console-format-es6-2.txt │ │ │ │ │ ├── console-format-es6.txt │ │ │ │ │ ├── console-format-groups.txt │ │ │ │ │ ├── console-format-popular-types.txt │ │ │ │ │ ├── console-format-string.txt │ │ │ │ │ ├── consoleAPITest.ts │ │ │ │ │ └── consoleFormatTest.ts │ │ │ │ ├── evaluate/ │ │ │ │ │ ├── evaluate-auto-expands-getter-447.txt │ │ │ │ │ ├── evaluate-cd.txt │ │ │ │ │ ├── evaluate-copy-via-evaluate-context.txt │ │ │ │ │ ├── evaluate-copy-via-function.txt │ │ │ │ │ ├── evaluate-default.txt │ │ │ │ │ ├── evaluate-inspect.txt │ │ │ │ │ ├── evaluate-output-slots-2.txt │ │ │ │ │ ├── evaluate-output-slots.txt │ │ │ │ │ ├── evaluate-queryobjects.txt │ │ │ │ │ ├── evaluate-repl.txt │ │ │ │ │ ├── evaluate-returnvalue.txt │ │ │ │ │ ├── evaluate-rewritetoplevelawait.txt │ │ │ │ │ ├── evaluate-selected-context.txt │ │ │ │ │ ├── evaluate-toplevelawait.txt │ │ │ │ │ └── evaluate.ts │ │ │ │ ├── extension/ │ │ │ │ │ └── nodeConfigurationProvidersTests.ts │ │ │ │ ├── framework/ │ │ │ │ │ ├── react-hit-breakpoint.txt │ │ │ │ │ ├── react-js-hit-breakpoint.txt │ │ │ │ │ └── reactTest.ts │ │ │ │ ├── goldenText.ts │ │ │ │ ├── infra/ │ │ │ │ │ ├── infra-initialize.txt │ │ │ │ │ └── infra.ts │ │ │ │ ├── logger.ts │ │ │ │ ├── node/ │ │ │ │ │ ├── node-binary-provider.test.ts │ │ │ │ │ ├── node-runtime-adjusts-to-compiles-file-if-it-exists.txt │ │ │ │ │ ├── node-runtime-attaching-attaches-children-of-child-processes.txt │ │ │ │ │ ├── node-runtime-attaching-attaches-to-cluster-processes.txt │ │ │ │ │ ├── node-runtime-attaching-attaches-to-existing-processes.txt │ │ │ │ │ ├── node-runtime-attaching-restarts-if-requested.txt │ │ │ │ │ ├── node-runtime-attaching-retries-attachment.txt │ │ │ │ │ ├── node-runtime-child-processes-debugs.txt │ │ │ │ │ ├── node-runtime-debugs-child-processes.txt │ │ │ │ │ ├── node-runtime-inspect-flag-handling-does-not-break-with-inspect-flag.txt │ │ │ │ │ ├── node-runtime-inspect-flag-handling-treats-inspect-brk-as-stoponentry.txt │ │ │ │ │ ├── node-runtime-reads-the-envfile.txt │ │ │ │ │ ├── node-runtime-scripts-with-http-urls.txt │ │ │ │ │ ├── node-runtime-sets-arguments.txt │ │ │ │ │ ├── node-runtime-sets-environment-variables.txt │ │ │ │ │ ├── node-runtime-sets-sourcemapoverrides-from-the-cwd.txt │ │ │ │ │ ├── node-runtime-sets-the-cwd.txt │ │ │ │ │ ├── node-runtime-simple-script.txt │ │ │ │ │ ├── node-runtime-stoponentry-launches-and-infers-entry-from-args.txt │ │ │ │ │ ├── node-runtime-stoponentry-sets-an-explicit-stop-on-entry-point.txt │ │ │ │ │ ├── node-runtime-stoponentry-stops-with-a-breakpoint-elsewhere-515.txt │ │ │ │ │ ├── node-runtime-stoponentry-stops-with-a-program-provided.txt │ │ │ │ │ ├── node-runtime.test.ts │ │ │ │ │ ├── node-source-path-resolver.test.ts │ │ │ │ │ ├── process-tree.test.ts │ │ │ │ │ ├── runtimeVersion.test.ts │ │ │ │ │ └── subprocess-launcher.test.ts │ │ │ │ ├── npmScriptLens/ │ │ │ │ │ └── npmScriptLens.test.ts │ │ │ │ ├── profiling/ │ │ │ │ │ ├── profiling-breakpoints-continues-if-was-paused-on-start-with-debugger-domain.txt │ │ │ │ │ ├── profiling-breakpoints-continues-if-was-paused-on-start.txt │ │ │ │ │ ├── profiling-breakpoints-does-not-unverify-target-breakpoint.txt │ │ │ │ │ ├── profiling-breakpoints-runs-until-a-breakpoint-is-hit.txt │ │ │ │ │ ├── profiling-breakpoints-unverifies-and-reverifies.txt │ │ │ │ │ └── profiling.test.ts │ │ │ │ ├── reporters/ │ │ │ │ │ ├── goldenTextReporter.ts │ │ │ │ │ ├── goldenTextReporterUtils.ts │ │ │ │ │ ├── logReporterUtils.ts │ │ │ │ │ └── logTestReporter.ts │ │ │ │ ├── resourceProvider/ │ │ │ │ │ ├── resourceProvider.test.ts │ │ │ │ │ └── resourceprovider-applies-cookies.txt │ │ │ │ ├── runTest.ts │ │ │ │ ├── sources/ │ │ │ │ │ ├── pretty-print-sources-base.txt │ │ │ │ │ ├── pretty-print-sources-bps.txt │ │ │ │ │ ├── pretty-print-sources-steps-in-pretty.txt │ │ │ │ │ ├── pretty-print.test.ts │ │ │ │ │ ├── sourceUtils.test.ts │ │ │ │ │ ├── sources-allows-module-wrapper-in-node-code.txt │ │ │ │ │ ├── sources-allows-overrides-for-relative-webpack-paths-479.txt │ │ │ │ │ ├── sources-allows-shebang-in-node-code.txt │ │ │ │ │ ├── sources-basic-source-map.txt │ │ │ │ │ ├── sources-basic-sources.txt │ │ │ │ │ ├── sources-hash-bom.txt │ │ │ │ │ ├── sources-hash-code-points.txt │ │ │ │ │ ├── sources-hash-from-file.txt │ │ │ │ │ ├── sources-sourcemap-error-handling-logs-initial-parse-errors.txt │ │ │ │ │ ├── sources-sourcemap-error-handling-logs-lazy-parse-errors.txt │ │ │ │ │ ├── sources-updated-content.txt │ │ │ │ │ ├── sources-url-and-hash.txt │ │ │ │ │ ├── sources-waiting-for-source-map-failure.txt │ │ │ │ │ ├── sources-waiting-for-source-map.txt │ │ │ │ │ ├── sources-works-with-relative-webpack-sourcemaps-479.txt │ │ │ │ │ └── sourcesTest.ts │ │ │ │ ├── stacks/ │ │ │ │ │ ├── stacks-anonymous-initial-script.txt │ │ │ │ │ ├── stacks-anonymous-scopes.txt │ │ │ │ │ ├── stacks-async-disables.txt │ │ │ │ │ ├── stacks-async.txt │ │ │ │ │ ├── stacks-cross-target.txt │ │ │ │ │ ├── stacks-eval-in-anonymous.txt │ │ │ │ │ ├── stacks-return-value.txt │ │ │ │ │ ├── stacks-skipfiles-multiple-authored-ts-to-js.txt │ │ │ │ │ ├── stacks-skipfiles-single-authored-js.txt │ │ │ │ │ ├── stacks-skipfiles-single-compiled-js.txt │ │ │ │ │ ├── stacks-skipfiles-toggle-authored-ts.txt │ │ │ │ │ ├── stacks-skipfiles-works-with-absolute-paths-470.txt │ │ │ │ │ ├── stacks-smartstep-does-not-smart-step-manual-breakpoints.txt │ │ │ │ │ ├── stacks-smartstep-does-not-smart-step-on-exception-breakpoints.txt │ │ │ │ │ ├── stacks-smartstep-simple-stepping.txt │ │ │ │ │ ├── stacks-smartstep.txt │ │ │ │ │ ├── stacks-source-map.txt │ │ │ │ │ └── stacksTest.ts │ │ │ │ ├── test.ts │ │ │ │ ├── testIntegrationUtils.ts │ │ │ │ ├── testRunner.ts │ │ │ │ ├── testServer.ts │ │ │ │ ├── threads/ │ │ │ │ │ ├── threads-not-paused.txt │ │ │ │ │ ├── threads-pause-on-exceptions-cases.txt │ │ │ │ │ ├── threads-pause-on-exceptions-configuration.txt │ │ │ │ │ ├── threads-paused.txt │ │ │ │ │ ├── threads-stepping-basic.txt │ │ │ │ │ ├── threads-stepping-cross-thread-constructor-source-map.txt │ │ │ │ │ ├── threads-stepping-cross-thread-constructor.txt │ │ │ │ │ ├── threads-stepping-cross-thread-skip-over-tasks.txt │ │ │ │ │ ├── threads-stepping-cross-thread-source-map.txt │ │ │ │ │ ├── threads-stepping-cross-thread.txt │ │ │ │ │ ├── threadsTest-startup-tests-events.txt │ │ │ │ │ └── threadsTest.ts │ │ │ │ ├── ui/ │ │ │ │ │ └── pickAttach.test.ts │ │ │ │ ├── variables/ │ │ │ │ │ ├── variables-basic-basic-object.txt │ │ │ │ │ ├── variables-basic-clear-console.txt │ │ │ │ │ ├── variables-basic-simple-log.txt │ │ │ │ │ ├── variables-multiple-threads-worker.txt │ │ │ │ │ ├── variables-object-deep-accessor.txt │ │ │ │ │ ├── variables-object-get-set.txt │ │ │ │ │ ├── variables-object-large-array.txt │ │ │ │ │ ├── variables-object-simple-array.txt │ │ │ │ │ ├── variables-setvariable-basic.txt │ │ │ │ │ ├── variables-setvariable-evaluatename.txt │ │ │ │ │ ├── variables-setvariable-scope.txt │ │ │ │ │ ├── variables-web-tags.txt │ │ │ │ │ └── variablesTest.ts │ │ │ │ └── webview/ │ │ │ │ ├── webview-breakpoints-launched-script.txt │ │ │ │ └── webview.breakpoints.test.win.ts │ │ │ ├── tslint.json │ │ │ ├── typings/ │ │ │ │ ├── default-browser.d.ts │ │ │ │ ├── json.d.ts │ │ │ │ ├── object.d.ts │ │ │ │ ├── vscode.d.ts │ │ │ │ └── vscode.proposed.d.ts │ │ │ └── ui/ │ │ │ ├── autoAttach.ts │ │ │ ├── companionBrowserLaunch.ts │ │ │ ├── configuration/ │ │ │ │ ├── baseConfigurationProvider.ts │ │ │ │ ├── baseConfigurationResolver.ts │ │ │ │ ├── chromeDebugConfigurationProvider.ts │ │ │ │ ├── chromiumDebugConfigurationProvider.ts │ │ │ │ ├── configurationProvider.ts │ │ │ │ ├── edgeDebugConfigurationProvider.ts │ │ │ │ ├── extensionHostConfigurationProvider.ts │ │ │ │ ├── index.ts │ │ │ │ ├── nodeDebugConfigurationProvider.ts │ │ │ │ ├── nodeDebugConfigurationResolver.ts │ │ │ │ ├── terminalDebugConfigurationResolver.ts │ │ │ │ ├── valdiDebugConfigurationProvider.ts │ │ │ │ └── valdiDebugConfigurationResolver.ts │ │ │ ├── configurationUtils.ts │ │ │ ├── customBreakpointsUI.ts │ │ │ ├── debugNpmScript.ts │ │ │ ├── debugSessionTracker.ts │ │ │ ├── debugTerminalUI.ts │ │ │ ├── experimentEnlist.ts │ │ │ ├── getRunScriptCommand.ts │ │ │ ├── longPredictionUI.ts │ │ │ ├── npmScriptLens.ts │ │ │ ├── prettyPrint.ts │ │ │ ├── processPicker.ts │ │ │ ├── processTree/ │ │ │ │ ├── baseProcessTree.ts │ │ │ │ ├── darwinProcessTree.ts │ │ │ │ ├── posixProcessTree.ts │ │ │ │ ├── processTree.ts │ │ │ │ └── windowsProcessTree.ts │ │ │ ├── profiling/ │ │ │ │ ├── breakpointTerminationCondition.ts │ │ │ │ ├── durationTerminationCondition.ts │ │ │ │ ├── manualTerminationCondition.ts │ │ │ │ ├── terminationCondition.ts │ │ │ │ ├── uiProfileManager.ts │ │ │ │ └── uiProfileSession.ts │ │ │ ├── profiling.ts │ │ │ ├── revealPage.ts │ │ │ ├── terminalLinkHandler.ts │ │ │ ├── toggleSkippingFile.ts │ │ │ ├── ui-ioc.ts │ │ │ └── vsCodeSessionManager.ts │ │ ├── testWorkspace/ │ │ │ ├── babelLineNumbers/ │ │ │ │ ├── app.tsx │ │ │ │ ├── columns-test.txt │ │ │ │ ├── compiled.js │ │ │ │ └── index.tsx │ │ │ ├── moduleWrapper/ │ │ │ │ ├── index.js │ │ │ │ └── test.js │ │ │ ├── nodeModuleBreakpoint/ │ │ │ │ └── index.js │ │ │ ├── nodePathProvider/ │ │ │ │ ├── Makefile │ │ │ │ ├── outdated/ │ │ │ │ │ └── node │ │ │ │ ├── program.go │ │ │ │ └── up-to-date/ │ │ │ │ └── node │ │ │ ├── simpleNode/ │ │ │ │ ├── index.js │ │ │ │ ├── profilePlayground.js │ │ │ │ ├── simpleWebpack.js │ │ │ │ └── simpleWebpack.ts │ │ │ ├── sourceMapLocations/ │ │ │ │ ├── babel.js │ │ │ │ └── tsc.js │ │ │ ├── tsNode/ │ │ │ │ ├── double.ts │ │ │ │ ├── index.js │ │ │ │ └── log.ts │ │ │ ├── tsNodeApp/ │ │ │ │ ├── app.js │ │ │ │ ├── app.ts │ │ │ │ └── tsconfig.json │ │ │ ├── web/ │ │ │ │ ├── addWorker.js │ │ │ │ ├── asyncStack.html │ │ │ │ ├── asyncStack.js │ │ │ │ ├── basic.html │ │ │ │ ├── basic.js │ │ │ │ ├── basic.ts │ │ │ │ ├── browserify/ │ │ │ │ │ ├── browserify.html │ │ │ │ │ ├── bundle.js │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── module1.ts │ │ │ │ │ ├── module2.ts │ │ │ │ │ ├── pause.html │ │ │ │ │ ├── pause.js │ │ │ │ │ └── pause.ts │ │ │ │ ├── child.html │ │ │ │ ├── condition.html │ │ │ │ ├── condition.js │ │ │ │ ├── dir/ │ │ │ │ │ └── helloworld.js │ │ │ │ ├── empty.js │ │ │ │ ├── empty2.js │ │ │ │ ├── frames.html │ │ │ │ ├── grandchild.html │ │ │ │ ├── index.html │ │ │ │ ├── inlinescript.html │ │ │ │ ├── inlinescriptpause.html │ │ │ │ ├── logging.html │ │ │ │ ├── logging.js │ │ │ │ ├── pretty/ │ │ │ │ │ ├── pretty.html │ │ │ │ │ └── ugly.js │ │ │ │ ├── restart.html │ │ │ │ ├── restart.js │ │ │ │ ├── script-with-query-param.html │ │ │ │ ├── script.html │ │ │ │ ├── script.js │ │ │ │ ├── smartStep/ │ │ │ │ │ ├── async.js │ │ │ │ │ ├── async.ts │ │ │ │ │ ├── exceptionBp.js │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── urlSourcemap/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.ts │ │ │ │ ├── vue/ │ │ │ │ │ ├── index.html │ │ │ │ │ └── js/ │ │ │ │ │ ├── app.js │ │ │ │ │ └── chunk-vendors.js │ │ │ │ ├── webpack/ │ │ │ │ │ ├── relative-paths.bundle.js │ │ │ │ │ ├── relative-paths.html │ │ │ │ │ └── relative-paths.js │ │ │ │ ├── worker.html │ │ │ │ ├── worker.js │ │ │ │ ├── workerSourceMap.js │ │ │ │ └── workerSourceMap.ts │ │ │ └── webview/ │ │ │ └── win/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ └── WebView2Sample.pdb │ │ └── tsconfig.json │ ├── vscode_debugger_test/ │ │ ├── .gitignore │ │ ├── .lsifrc.json │ │ ├── .prettierrc.json │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── extension.ts │ │ │ └── test/ │ │ │ ├── runTest.ts │ │ │ └── suite/ │ │ │ ├── extension.test.ts │ │ │ └── index.ts │ │ └── tsconfig.json │ └── vscode_plugin/ │ ├── .eslintrc.json │ ├── .gitignore │ ├── .vscodeignore │ ├── CHANGELOG.md │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── extension.ts │ │ └── test/ │ │ ├── runTest.ts │ │ └── suite/ │ │ ├── extension.test.ts │ │ └── index.ts │ ├── tsconfig.json │ └── vsc-extension-quickstart.md ├── valdi_core/ │ ├── .gitignore │ ├── BUILD.bazel │ ├── README.md │ ├── djinni_compat.bzl │ ├── generated-src/ │ │ ├── cpp/ │ │ │ └── valdi_core/ │ │ │ ├── AnimationType.hpp │ │ │ ├── Animator.hpp │ │ │ ├── Asset.hpp │ │ │ ├── AssetLoadObserver.hpp │ │ │ ├── AssetOutputType.hpp │ │ │ ├── AttributeType.hpp │ │ │ ├── Cancelable.hpp │ │ │ ├── CompositeAttributePart.hpp │ │ │ ├── HTTPRequest.hpp │ │ │ ├── HTTPRequestManager.hpp │ │ │ ├── HTTPRequestManagerCompletion.hpp │ │ │ ├── HTTPResponse.hpp │ │ │ ├── JSRuntime.hpp │ │ │ ├── JSRuntimeNativeObjectsManager.hpp │ │ │ ├── JavaScriptEngineType.hpp │ │ │ ├── ModuleFactoriesProvider.hpp │ │ │ ├── ModuleFactory.hpp │ │ │ └── Platform.hpp │ │ ├── java/ │ │ │ └── com/ │ │ │ └── snapchat/ │ │ │ └── client/ │ │ │ └── valdi_core/ │ │ │ ├── AnimationType.java │ │ │ ├── Animator.java │ │ │ ├── Asset.java │ │ │ ├── AssetLoadObserver.java │ │ │ ├── AssetOutputType.java │ │ │ ├── AttributeType.java │ │ │ ├── Cancelable.java │ │ │ ├── CompositeAttributePart.java │ │ │ ├── HTTPRequest.java │ │ │ ├── HTTPRequestManager.java │ │ │ ├── HTTPRequestManagerCompletion.java │ │ │ ├── HTTPResponse.java │ │ │ ├── JSRuntime.java │ │ │ ├── JSRuntimeNativeObjectsManager.java │ │ │ ├── JavaScriptEngineType.java │ │ │ ├── ModuleFactoriesProvider.java │ │ │ ├── ModuleFactory.java │ │ │ └── Platform.java │ │ ├── jni/ │ │ │ └── valdi_core/ │ │ │ ├── NativeAnimationType.hpp │ │ │ ├── NativeAnimator.cpp │ │ │ ├── NativeAnimator.hpp │ │ │ ├── NativeAsset.cpp │ │ │ ├── NativeAsset.hpp │ │ │ ├── NativeAssetLoadObserver.cpp │ │ │ ├── NativeAssetLoadObserver.hpp │ │ │ ├── NativeAssetOutputType.hpp │ │ │ ├── NativeAttributeType.hpp │ │ │ ├── NativeCancelable.cpp │ │ │ ├── NativeCancelable.hpp │ │ │ ├── NativeCompositeAttributePart.cpp │ │ │ ├── NativeCompositeAttributePart.hpp │ │ │ ├── NativeHTTPRequest.cpp │ │ │ ├── NativeHTTPRequest.hpp │ │ │ ├── NativeHTTPRequestManager.cpp │ │ │ ├── NativeHTTPRequestManager.hpp │ │ │ ├── NativeHTTPRequestManagerCompletion.cpp │ │ │ ├── NativeHTTPRequestManagerCompletion.hpp │ │ │ ├── NativeHTTPResponse.cpp │ │ │ ├── NativeHTTPResponse.hpp │ │ │ ├── NativeJSRuntime.cpp │ │ │ ├── NativeJSRuntime.hpp │ │ │ ├── NativeJSRuntimeNativeObjectsManager.cpp │ │ │ ├── NativeJSRuntimeNativeObjectsManager.hpp │ │ │ ├── NativeJavaScriptEngineType.hpp │ │ │ ├── NativeModuleFactoriesProvider.cpp │ │ │ ├── NativeModuleFactoriesProvider.hpp │ │ │ ├── NativeModuleFactory.cpp │ │ │ ├── NativeModuleFactory.hpp │ │ │ └── NativePlatform.hpp │ │ ├── objc/ │ │ │ └── valdi_core/ │ │ │ ├── SCNValdiCoreAnimationType+Private.h │ │ │ ├── SCNValdiCoreAnimationType.h │ │ │ ├── SCNValdiCoreAnimator+Private.h │ │ │ ├── SCNValdiCoreAnimator+Private.mm │ │ │ ├── SCNValdiCoreAnimator.h │ │ │ ├── SCNValdiCoreAsset+Private.h │ │ │ ├── SCNValdiCoreAsset+Private.mm │ │ │ ├── SCNValdiCoreAsset.h │ │ │ ├── SCNValdiCoreAssetLoadObserver+Private.h │ │ │ ├── SCNValdiCoreAssetLoadObserver+Private.mm │ │ │ ├── SCNValdiCoreAssetLoadObserver.h │ │ │ ├── SCNValdiCoreAssetOutputType+Private.h │ │ │ ├── SCNValdiCoreAssetOutputType.h │ │ │ ├── SCNValdiCoreAttributeType+Private.h │ │ │ ├── SCNValdiCoreAttributeType.h │ │ │ ├── SCNValdiCoreCancelable+Private.h │ │ │ ├── SCNValdiCoreCancelable+Private.mm │ │ │ ├── SCNValdiCoreCancelable.h │ │ │ ├── SCNValdiCoreCompositeAttributePart+Private.h │ │ │ ├── SCNValdiCoreCompositeAttributePart+Private.mm │ │ │ ├── SCNValdiCoreCompositeAttributePart.h │ │ │ ├── SCNValdiCoreCompositeAttributePart.mm │ │ │ ├── SCNValdiCoreHTTPRequest+Private.h │ │ │ ├── SCNValdiCoreHTTPRequest+Private.mm │ │ │ ├── SCNValdiCoreHTTPRequest.h │ │ │ ├── SCNValdiCoreHTTPRequest.mm │ │ │ ├── SCNValdiCoreHTTPRequestManager+Private.h │ │ │ ├── SCNValdiCoreHTTPRequestManager+Private.mm │ │ │ ├── SCNValdiCoreHTTPRequestManager.h │ │ │ ├── SCNValdiCoreHTTPRequestManagerCompletion+Private.h │ │ │ ├── SCNValdiCoreHTTPRequestManagerCompletion+Private.mm │ │ │ ├── SCNValdiCoreHTTPRequestManagerCompletion.h │ │ │ ├── SCNValdiCoreHTTPResponse+Private.h │ │ │ ├── SCNValdiCoreHTTPResponse+Private.mm │ │ │ ├── SCNValdiCoreHTTPResponse.h │ │ │ ├── SCNValdiCoreHTTPResponse.mm │ │ │ ├── SCNValdiCoreJSRuntime+Private.h │ │ │ ├── SCNValdiCoreJSRuntime+Private.mm │ │ │ ├── SCNValdiCoreJSRuntime.h │ │ │ ├── SCNValdiCoreJSRuntimeNativeObjectsManager+Private.h │ │ │ ├── SCNValdiCoreJSRuntimeNativeObjectsManager+Private.mm │ │ │ ├── SCNValdiCoreJSRuntimeNativeObjectsManager.h │ │ │ ├── SCNValdiCoreJavaScriptEngineType+Private.h │ │ │ ├── SCNValdiCoreJavaScriptEngineType.h │ │ │ ├── SCNValdiCoreModuleFactoriesProvider+Private.h │ │ │ ├── SCNValdiCoreModuleFactoriesProvider+Private.mm │ │ │ ├── SCNValdiCoreModuleFactoriesProvider.h │ │ │ ├── SCNValdiCoreModuleFactory+Private.h │ │ │ ├── SCNValdiCoreModuleFactory+Private.mm │ │ │ ├── SCNValdiCoreModuleFactory.h │ │ │ ├── SCNValdiCorePlatform+Private.h │ │ │ └── SCNValdiCorePlatform.h │ │ ├── ts/ │ │ │ └── valdi_core.ts │ │ └── yaml/ │ │ ├── AnimationType.yaml │ │ ├── Animator.yaml │ │ ├── Asset.yaml │ │ ├── AssetLoadObserver.yaml │ │ ├── AssetOutputType.yaml │ │ ├── AttributeType.yaml │ │ ├── Cancelable.yaml │ │ ├── CompositeAttributePart.yaml │ │ ├── HTTPRequest.yaml │ │ ├── HTTPRequestManager.yaml │ │ ├── HTTPRequestManagerCompletion.yaml │ │ ├── HTTPResponse.yaml │ │ ├── JSRuntime.yaml │ │ ├── JSRuntimeNativeObjectsManager.yaml │ │ ├── JavaScriptEngineType.yaml │ │ ├── ModuleFactoriesProvider.yaml │ │ ├── ModuleFactory.yaml │ │ └── Platform.yaml │ ├── src/ │ │ ├── bindings/ │ │ │ ├── bytes.yaml │ │ │ ├── include/ │ │ │ │ └── valdi_core/ │ │ │ │ └── bindings/ │ │ │ │ ├── BytesTranslator_jni.hpp │ │ │ │ ├── BytesTranslator_objc.hpp │ │ │ │ ├── BytesTranslator_valdi.cpp │ │ │ │ ├── BytesTranslator_valdi.hpp │ │ │ │ ├── InternedStringTranslator_jni.hpp │ │ │ │ ├── InternedStringTranslator_objc.hpp │ │ │ │ ├── ResultTranslator_jni.hpp │ │ │ │ ├── ResultTranslator_objc.hpp │ │ │ │ ├── UndefExceptions_jni.hpp │ │ │ │ ├── UndefExceptions_objc.hpp │ │ │ │ ├── ValueTranslator_jni.hpp │ │ │ │ └── ValueTranslator_objc.hpp │ │ │ ├── interned_string.yaml │ │ │ ├── result.yaml │ │ │ └── value.yaml │ │ ├── java/ │ │ │ ├── AndroidManifest.xml │ │ │ └── com/ │ │ │ ├── snap/ │ │ │ │ └── valdi/ │ │ │ │ └── utils/ │ │ │ │ └── ValdiResult.kt │ │ │ └── snapchat/ │ │ │ └── client/ │ │ │ └── valdi/ │ │ │ └── utils/ │ │ │ └── NativeHandleWrapper.java │ │ └── valdi_core/ │ │ ├── android/ │ │ │ └── AndroidManifest.xml │ │ ├── cpp/ │ │ │ ├── Apple/ │ │ │ │ ├── CFConversions.cpp │ │ │ │ ├── CFConversions.hpp │ │ │ │ └── CFRef.hpp │ │ │ ├── Attributes/ │ │ │ │ ├── AttributeUtils.cpp │ │ │ │ ├── AttributeUtils.hpp │ │ │ │ ├── ColorPalette.cpp │ │ │ │ ├── ColorPalette.hpp │ │ │ │ ├── ImageFilter.cpp │ │ │ │ ├── ImageFilter.hpp │ │ │ │ ├── TextAttributeValue.cpp │ │ │ │ └── TextAttributeValue.hpp │ │ │ ├── Constants.cpp │ │ │ ├── Constants.hpp │ │ │ ├── Context/ │ │ │ │ ├── Attribution.cpp │ │ │ │ ├── Attribution.hpp │ │ │ │ ├── ComponentPath.cpp │ │ │ │ ├── ComponentPath.hpp │ │ │ │ ├── ContextBase.cpp │ │ │ │ ├── ContextBase.hpp │ │ │ │ ├── ContextId.cpp │ │ │ │ ├── ContextId.hpp │ │ │ │ └── PlatformType.hpp │ │ │ ├── Events/ │ │ │ │ ├── TouchEvents.cpp │ │ │ │ └── TouchEvents.hpp │ │ │ ├── Interfaces/ │ │ │ │ ├── IBitmap.cpp │ │ │ │ ├── IBitmap.hpp │ │ │ │ ├── IBitmapFactory.hpp │ │ │ │ ├── ILogger.hpp │ │ │ │ └── IMainThreadDispatcher.hpp │ │ │ ├── JavaScript/ │ │ │ │ ├── JavaScriptPathResolver.cpp │ │ │ │ ├── JavaScriptPathResolver.hpp │ │ │ │ ├── ModuleFactoryRegistry.cpp │ │ │ │ └── ModuleFactoryRegistry.hpp │ │ │ ├── Localization/ │ │ │ │ ├── LocaleResolver.hpp │ │ │ │ ├── LocaleResolverApple.cpp │ │ │ │ └── LocaleResolverLinux.cpp │ │ │ ├── Marshalling/ │ │ │ │ ├── CppGeneratedClass.cpp │ │ │ │ ├── CppGeneratedClass.hpp │ │ │ │ ├── CppGeneratedEnum.cpp │ │ │ │ ├── CppGeneratedEnum.hpp │ │ │ │ ├── CppGeneratedExportedFunction.cpp │ │ │ │ ├── CppGeneratedExportedFunction.hpp │ │ │ │ ├── CppGeneratedExportedFunctionUtils.cpp │ │ │ │ ├── CppGeneratedExportedFunctionUtils.hpp │ │ │ │ ├── CppGeneratedGenericClass.cpp │ │ │ │ ├── CppGeneratedGenericClass.hpp │ │ │ │ ├── CppGeneratedModuleFactory.hpp │ │ │ │ ├── CppMarshaller.cpp │ │ │ │ ├── CppMarshaller.hpp │ │ │ │ ├── RegisteredCppGeneratedClass.cpp │ │ │ │ └── RegisteredCppGeneratedClass.hpp │ │ │ ├── Resources/ │ │ │ │ ├── Asset.cpp │ │ │ │ ├── Asset.hpp │ │ │ │ ├── AssetLocation.cpp │ │ │ │ ├── AssetLocation.hpp │ │ │ │ ├── LoadedAsset.cpp │ │ │ │ ├── LoadedAsset.hpp │ │ │ │ ├── ResourceId.cpp │ │ │ │ ├── ResourceId.hpp │ │ │ │ ├── StaticResourceRegistry.cpp │ │ │ │ ├── StaticResourceRegistry.hpp │ │ │ │ ├── ValdiArchive.cpp │ │ │ │ ├── ValdiArchive.hpp │ │ │ │ ├── ValdiPacket.cpp │ │ │ │ └── ValdiPacket.hpp │ │ │ ├── Schema/ │ │ │ │ ├── ValueSchema.cpp │ │ │ │ ├── ValueSchema.hpp │ │ │ │ ├── ValueSchemaParser.cpp │ │ │ │ ├── ValueSchemaParser.hpp │ │ │ │ ├── ValueSchemaRegistry.cpp │ │ │ │ ├── ValueSchemaRegistry.hpp │ │ │ │ ├── ValueSchemaRegistryKey.cpp │ │ │ │ ├── ValueSchemaRegistryKey.hpp │ │ │ │ ├── ValueSchemaRegistrySchemaIdentifier.hpp │ │ │ │ ├── ValueSchemaTypeReference.cpp │ │ │ │ ├── ValueSchemaTypeReference.hpp │ │ │ │ ├── ValueSchemaTypeResolver.cpp │ │ │ │ └── ValueSchemaTypeResolver.hpp │ │ │ ├── Text/ │ │ │ │ ├── CharacterSet.cpp │ │ │ │ ├── CharacterSet.hpp │ │ │ │ ├── UTF16Utils.cpp │ │ │ │ ├── UTF16Utils.hpp │ │ │ │ ├── UnicodeSequenceTrie.cpp │ │ │ │ └── UnicodeSequenceTrie.hpp │ │ │ ├── Threading/ │ │ │ │ ├── DispatchQueue.cpp │ │ │ │ ├── DispatchQueue.hpp │ │ │ │ ├── GCDDispatchQueue.cpp │ │ │ │ ├── GCDDispatchQueue.hpp │ │ │ │ ├── GCDUtils.cpp │ │ │ │ ├── GCDUtils.hpp │ │ │ │ ├── IDispatchQueue.hpp │ │ │ │ ├── IQueueListener.hpp │ │ │ │ ├── TaskId.hpp │ │ │ │ ├── TaskQueue.cpp │ │ │ │ ├── TaskQueue.hpp │ │ │ │ ├── Thread.cpp │ │ │ │ ├── Thread.hpp │ │ │ │ ├── ThreadAccessChecker.cpp │ │ │ │ ├── ThreadAccessChecker.hpp │ │ │ │ ├── ThreadBase.cpp │ │ │ │ ├── ThreadBase.hpp │ │ │ │ ├── ThreadQoSClass.hpp │ │ │ │ ├── ThreadedDispatchQueue.cpp │ │ │ │ └── ThreadedDispatchQueue.hpp │ │ │ └── Utils/ │ │ │ ├── AutoMalloc.hpp │ │ │ ├── BitmapWithBuffer.cpp │ │ │ ├── BitmapWithBuffer.hpp │ │ │ ├── BridgeObject.cpp │ │ │ ├── BridgeObject.hpp │ │ │ ├── Byte.hpp │ │ │ ├── ByteBuffer.cpp │ │ │ ├── ByteBuffer.hpp │ │ │ ├── Bytes.cpp │ │ │ ├── Bytes.hpp │ │ │ ├── ConsoleLogger.cpp │ │ │ ├── ConsoleLogger.hpp │ │ │ ├── ContainerUtils.hpp │ │ │ ├── DebugLogUtils.hpp │ │ │ ├── DefaultValueMarshallers.hpp │ │ │ ├── Defer.hpp │ │ │ ├── DiskUtils.cpp │ │ │ ├── DiskUtils.hpp │ │ │ ├── DjinniModuleFactory.hpp │ │ │ ├── DjinniUtils.cpp │ │ │ ├── DjinniUtils.hpp │ │ │ ├── Duration.cpp │ │ │ ├── Duration.hpp │ │ │ ├── Error.cpp │ │ │ ├── Error.hpp │ │ │ ├── Exception.cpp │ │ │ ├── Exception.hpp │ │ │ ├── ExceptionTracker.cpp │ │ │ ├── ExceptionTracker.hpp │ │ │ ├── FlatMap.hpp │ │ │ ├── FlatSet.hpp │ │ │ ├── Format.hpp │ │ │ ├── Function.hpp │ │ │ ├── Future.hpp │ │ │ ├── GeometricPath.cpp │ │ │ ├── GeometricPath.hpp │ │ │ ├── Holder.hpp │ │ │ ├── InlineContainerAllocator.hpp │ │ │ ├── InternedStringImpl.cpp │ │ │ ├── InternedStringImpl.hpp │ │ │ ├── JSONReader.cpp │ │ │ ├── JSONReader.hpp │ │ │ ├── JSONWriter.cpp │ │ │ ├── JSONWriter.hpp │ │ │ ├── LRUCache.cpp │ │ │ ├── LRUCache.hpp │ │ │ ├── Lazy.hpp │ │ │ ├── LazyValueConvertible.cpp │ │ │ ├── LazyValueConvertible.hpp │ │ │ ├── LinkedList.cpp │ │ │ ├── LinkedList.hpp │ │ │ ├── LoggerUtils.hpp │ │ │ ├── Marshaller.cpp │ │ │ ├── Marshaller.hpp │ │ │ ├── Mutex.cpp │ │ │ ├── Mutex.hpp │ │ │ ├── ObjectPool.hpp │ │ │ ├── Parser.hpp │ │ │ ├── PathUtils.cpp │ │ │ ├── PathUtils.hpp │ │ │ ├── PlatformFunctionTrampolineUtils.cpp │ │ │ ├── PlatformFunctionTrampolineUtils.hpp │ │ │ ├── PlatformObjectAttachments.cpp │ │ │ ├── PlatformObjectAttachments.hpp │ │ │ ├── PlatformResult.cpp │ │ │ ├── PlatformResult.hpp │ │ │ ├── PlatformValueDelegate.hpp │ │ │ ├── Promise.cpp │ │ │ ├── Promise.hpp │ │ │ ├── ReferenceInfo.cpp │ │ │ ├── ReferenceInfo.hpp │ │ │ ├── ReferenceTable.cpp │ │ │ ├── ReferenceTable.hpp │ │ │ ├── ResolvablePromise.cpp │ │ │ ├── ResolvablePromise.hpp │ │ │ ├── Result.cpp │ │ │ ├── Result.hpp │ │ │ ├── SequenceIDGenerator.cpp │ │ │ ├── SequenceIDGenerator.hpp │ │ │ ├── Shared.cpp │ │ │ ├── Shared.hpp │ │ │ ├── SimpleAtomicCancelable.cpp │ │ │ ├── SimpleAtomicCancelable.hpp │ │ │ ├── SmallVector.cpp │ │ │ ├── SmallVector.hpp │ │ │ ├── StaticString.cpp │ │ │ ├── StaticString.hpp │ │ │ ├── StaticVector.hpp │ │ │ ├── StringBox.cpp │ │ │ ├── StringBox.hpp │ │ │ ├── StringCache.cpp │ │ │ ├── StringCache.hpp │ │ │ ├── TextParser.cpp │ │ │ ├── TextParser.hpp │ │ │ ├── TimePoint.cpp │ │ │ ├── TimePoint.hpp │ │ │ ├── Trace.cpp │ │ │ ├── Trace.hpp │ │ │ ├── TrackedLock.cpp │ │ │ ├── TrackedLock.hpp │ │ │ ├── URL.cpp │ │ │ ├── URL.hpp │ │ │ ├── ValdiObject.cpp │ │ │ ├── ValdiObject.hpp │ │ │ ├── Value.cpp │ │ │ ├── Value.hpp │ │ │ ├── ValueArray.cpp │ │ │ ├── ValueArray.hpp │ │ │ ├── ValueArrayBuilder.cpp │ │ │ ├── ValueArrayBuilder.hpp │ │ │ ├── ValueConvertible.hpp │ │ │ ├── ValueFunction.cpp │ │ │ ├── ValueFunction.hpp │ │ │ ├── ValueFunctionWithCallable.cpp │ │ │ ├── ValueFunctionWithCallable.hpp │ │ │ ├── ValueFunctionWithMethod.cpp │ │ │ ├── ValueFunctionWithMethod.hpp │ │ │ ├── ValueMap.cpp │ │ │ ├── ValueMap.hpp │ │ │ ├── ValueMapIterator.cpp │ │ │ ├── ValueMapIterator.hpp │ │ │ ├── ValueMarshaller.hpp │ │ │ ├── ValueMarshallerFunctionTrampoline.hpp │ │ │ ├── ValueMarshallerRegistry.hpp │ │ │ ├── ValueTypedArray.cpp │ │ │ ├── ValueTypedArray.hpp │ │ │ ├── ValueTypedObject.cpp │ │ │ ├── ValueTypedObject.hpp │ │ │ ├── ValueTypedProxyObject.cpp │ │ │ ├── ValueTypedProxyObject.hpp │ │ │ ├── ValueUtils.cpp │ │ │ ├── ValueUtils.hpp │ │ │ └── Void.hpp │ │ ├── ios/ │ │ │ ├── swift/ │ │ │ │ ├── AsyncValdiRuntime.swift │ │ │ │ ├── AsyncValdiRuntimeProtocol.swift │ │ │ │ ├── SwiftComponentBase.swift │ │ │ │ ├── SwiftUtils.swift │ │ │ │ ├── ValdiActor.swift │ │ │ │ ├── ValdiBridgeFunction.swift │ │ │ │ ├── ValdiLazy.swift │ │ │ │ ├── ValdiMarshallableObject.swift │ │ │ │ ├── ValdiMarshallableObjectDescriptor.swift │ │ │ │ ├── ValdiMarshallableObjectRegistry.swift │ │ │ │ ├── ValdiMarshaller.swift │ │ │ │ ├── ValdiPromise.swift │ │ │ │ └── cpp/ │ │ │ │ ├── SwiftProxyTypedObject.hpp │ │ │ │ ├── SwiftUtils.hpp │ │ │ │ ├── SwiftValdiMarshallableObjectDescriptor.h │ │ │ │ ├── SwiftValdiMarshallableObjectRegistry.cpp │ │ │ │ ├── SwiftValdiMarshallableObjectRegistry.h │ │ │ │ ├── SwiftValdiMarshallableObjectRegistryImpl.cpp │ │ │ │ ├── SwiftValdiMarshallableObjectRegistryImpl.hpp │ │ │ │ ├── SwiftValdiMarshaller.cpp │ │ │ │ ├── SwiftValdiMarshaller.h │ │ │ │ ├── SwiftValdiMarshallerPrivate.hpp │ │ │ │ ├── SwiftValdiTypes.h │ │ │ │ └── SwiftValueFunction.hpp │ │ │ └── valdi_core/ │ │ │ ├── NSScanner+CGFloat.h │ │ │ ├── NSScanner+CGFloat.m │ │ │ ├── NSURL+Valdi.h │ │ │ ├── NSURL+Valdi.m │ │ │ ├── SCAsyncValdiRuntimeProviding.h │ │ │ ├── SCMacros.h │ │ │ ├── SCSnapDrawingRuntime.h │ │ │ ├── SCValdiAction.h │ │ │ ├── SCValdiAction.m │ │ │ ├── SCValdiActionCompat.h │ │ │ ├── SCValdiActionCompat.m │ │ │ ├── SCValdiActionHandlerHolder.h │ │ │ ├── SCValdiActionHandlerHolder.m │ │ │ ├── SCValdiActionUtils.h │ │ │ ├── SCValdiActionUtils.m │ │ │ ├── SCValdiActionWithBlock.h │ │ │ ├── SCValdiActionWithBlock.m │ │ │ ├── SCValdiActions.h │ │ │ ├── SCValdiActions.m │ │ │ ├── SCValdiAnimatorBase.h │ │ │ ├── SCValdiAssetWithImage+CPP.h │ │ │ ├── SCValdiAssetWithImage.h │ │ │ ├── SCValdiAssetWithImage.mm │ │ │ ├── SCValdiAssetWithVideo+CPP.h │ │ │ ├── SCValdiAssetWithVideo.h │ │ │ ├── SCValdiAssetWithVideo.mm │ │ │ ├── SCValdiAttributesBinderBase.h │ │ │ ├── SCValdiBaseAssetLoader.h │ │ │ ├── SCValdiBitmap.h │ │ │ ├── SCValdiBitmap.mm │ │ │ ├── SCValdiBlockHelper.h │ │ │ ├── SCValdiBlockHelper.mm │ │ │ ├── SCValdiBridgeFunction.h │ │ │ ├── SCValdiBridgeFunction.m │ │ │ ├── SCValdiBridgedPromise+CPP.h │ │ │ ├── SCValdiBridgedPromise.h │ │ │ ├── SCValdiBridgedPromise.mm │ │ │ ├── SCValdiBuiltinTrampolines.h │ │ │ ├── SCValdiBuiltinTrampolines.m │ │ │ ├── SCValdiCacheUtils.h │ │ │ ├── SCValdiCacheUtils.m │ │ │ ├── SCValdiCancelable.h │ │ │ ├── SCValdiComponentContainerView.h │ │ │ ├── SCValdiComponentContainerView.m │ │ │ ├── SCValdiComponentPath.h │ │ │ ├── SCValdiComponentPath.mm │ │ │ ├── SCValdiConfigurableTextHolder.h │ │ │ ├── SCValdiConfigurableTextHolderTraitAttributes.h │ │ │ ├── SCValdiConfigurableTextHolderTraitAttributes.m │ │ │ ├── SCValdiConfiguration.h │ │ │ ├── SCValdiConfiguration.m │ │ │ ├── SCValdiContainerViewController.h │ │ │ ├── SCValdiContentViewProviding.h │ │ │ ├── SCValdiContextProtocol.h │ │ │ ├── SCValdiCustomModuleProvider.h │ │ │ ├── SCValdiDebugMessageDisplayer.h │ │ │ ├── SCValdiDefaultContainerViewController.h │ │ │ ├── SCValdiDefaultContainerViewController.m │ │ │ ├── SCValdiDefaultNavigator.h │ │ │ ├── SCValdiDefaultNavigator.m │ │ │ ├── SCValdiEnums.h │ │ │ ├── SCValdiEnums.m │ │ │ ├── SCValdiError.h │ │ │ ├── SCValdiError.m │ │ │ ├── SCValdiEventTime.h │ │ │ ├── SCValdiEventTime.mm │ │ │ ├── SCValdiExceptionReporter.h │ │ │ ├── SCValdiFieldValue.h │ │ │ ├── SCValdiFieldValue.m │ │ │ ├── SCValdiFontLoaderProtocol.h │ │ │ ├── SCValdiFontManagerProtocol.h │ │ │ ├── SCValdiFunction.h │ │ │ ├── SCValdiFunction.m │ │ │ ├── SCValdiFunctionCompat.h │ │ │ ├── SCValdiFunctionCompat.mm │ │ │ ├── SCValdiFunctionWithBlock.h │ │ │ ├── SCValdiFunctionWithBlock.mm │ │ │ ├── SCValdiFunctionWithCPPFunction+CPP.h │ │ │ ├── SCValdiFunctionWithCPPFunction.h │ │ │ ├── SCValdiFunctionWithCPPFunction.mm │ │ │ ├── SCValdiGeneratedModuleFactory.h │ │ │ ├── SCValdiGeneratedModuleFactory.m │ │ │ ├── SCValdiGeometricPath.h │ │ │ ├── SCValdiGeometricPath.mm │ │ │ ├── SCValdiGestureListener.h │ │ │ ├── SCValdiINavigator.h │ │ │ ├── SCValdiINavigator.m │ │ │ ├── SCValdiINavigatorManagedViewController.h │ │ │ ├── SCValdiINavigatorPageConfig.h │ │ │ ├── SCValdiINavigatorPageConfig.m │ │ │ ├── SCValdiINavigatorPageVisibility.h │ │ │ ├── SCValdiIScrollPerfLoggerBridge.h │ │ │ ├── SCValdiImage.h │ │ │ ├── SCValdiImage.m │ │ │ ├── SCValdiImageLoader.h │ │ │ ├── SCValdiImageView.h │ │ │ ├── SCValdiImageView.m │ │ │ ├── SCValdiInternedString+CPP.h │ │ │ ├── SCValdiInternedString.h │ │ │ ├── SCValdiInternedString.mm │ │ │ ├── SCValdiInternedStringBase.h │ │ │ ├── SCValdiJSConversionUtils.h │ │ │ ├── SCValdiJSConversionUtils.m │ │ │ ├── SCValdiJSQueueDispatcher.h │ │ │ ├── SCValdiJSRuntime.h │ │ │ ├── SCValdiLogger.h │ │ │ ├── SCValdiMarshallable.h │ │ │ ├── SCValdiMarshallable.m │ │ │ ├── SCValdiMarshallableObject.h │ │ │ ├── SCValdiMarshallableObject.m │ │ │ ├── SCValdiMarshallableObjectDescriptor.h │ │ │ ├── SCValdiMarshallableObjectDescriptor.m │ │ │ ├── SCValdiMarshallableObjectRegistry.h │ │ │ ├── SCValdiMarshallableObjectRegistry.mm │ │ │ ├── SCValdiMarshallableObjectUtils.h │ │ │ ├── SCValdiMarshallableObjectUtils.m │ │ │ ├── SCValdiMarshaller+CPP.h │ │ │ ├── SCValdiMarshaller.h │ │ │ ├── SCValdiMarshaller.mm │ │ │ ├── SCValdiModuleFactoryRegistry.h │ │ │ ├── SCValdiModuleFactoryRegistry.mm │ │ │ ├── SCValdiNativeAction.h │ │ │ ├── SCValdiNativeAction.m │ │ │ ├── SCValdiNativeConvertible.h │ │ │ ├── SCValdiNoAnimationDelegate.h │ │ │ ├── SCValdiNoAnimationDelegate.m │ │ │ ├── SCValdiObjCConversionUtils.h │ │ │ ├── SCValdiObjCConversionUtils.mm │ │ │ ├── SCValdiObjCValue.h │ │ │ ├── SCValdiObjCValue.mm │ │ │ ├── SCValdiObjCValueDelegate.h │ │ │ ├── SCValdiObjCValueDelegate.mm │ │ │ ├── SCValdiPromise.h │ │ │ ├── SCValdiPromise.m │ │ │ ├── SCValdiRectUtils.h │ │ │ ├── SCValdiRectUtils.m │ │ │ ├── SCValdiRef.h │ │ │ ├── SCValdiRef.m │ │ │ ├── SCValdiRefUtils.h │ │ │ ├── SCValdiRefUtils.m │ │ │ ├── SCValdiReferenceTable+CPP.h │ │ │ ├── SCValdiReferenceTable.h │ │ │ ├── SCValdiReferenceTable.mm │ │ │ ├── SCValdiResolvablePromise.h │ │ │ ├── SCValdiResolvablePromise.mm │ │ │ ├── SCValdiResult+CPP.h │ │ │ ├── SCValdiResult.h │ │ │ ├── SCValdiResult.mm │ │ │ ├── SCValdiRootView.h │ │ │ ├── SCValdiRootView.m │ │ │ ├── SCValdiRootViewProtocol.h │ │ │ ├── SCValdiRuntimeManagerProtocol.h │ │ │ ├── SCValdiRuntimeProtocol.h │ │ │ ├── SCValdiScrollDirection.h │ │ │ ├── SCValdiScrollView.h │ │ │ ├── SCValdiScrollView.m │ │ │ ├── SCValdiScrollViewDelegate.h │ │ │ ├── SCValdiScrollViewDelegate.m │ │ │ ├── SCValdiScrollViewInner.h │ │ │ ├── SCValdiScrollViewInner.m │ │ │ ├── SCValdiSharedLogger.h │ │ │ ├── SCValdiSharedLogger.m │ │ │ ├── SCValdiSnapDrawingFontManager.h │ │ │ ├── SCValdiTextInputTraitAttributes.h │ │ │ ├── SCValdiTextInputTraitAttributes.m │ │ │ ├── SCValdiTextInputUnfocusReason.h │ │ │ ├── SCValdiTouches.h │ │ │ ├── SCValdiTouches.mm │ │ │ ├── SCValdiUndefinedValue.h │ │ │ ├── SCValdiUndefinedValue.m │ │ │ ├── SCValdiValueUtils.h │ │ │ ├── SCValdiVideoLoader.h │ │ │ ├── SCValdiVideoPlayer.h │ │ │ ├── SCValdiVideoView.h │ │ │ ├── SCValdiVideoView.m │ │ │ ├── SCValdiView.h │ │ │ ├── SCValdiView.m │ │ │ ├── SCValdiViewAssetHandlingProtocol.h │ │ │ ├── SCValdiViewComponent.h │ │ │ ├── SCValdiViewFactory.h │ │ │ ├── SCValdiViewLayoutAttributes.h │ │ │ ├── SCValdiViewModelHolder.h │ │ │ ├── SCValdiViewNodeProtocol.h │ │ │ ├── SCValdiViewOwner.h │ │ │ ├── SCValdiWrappedValue+Private.h │ │ │ ├── SCValdiWrappedValue.h │ │ │ ├── SCValdiWrappedValue.mm │ │ │ ├── UIColor+Valdi.h │ │ │ ├── UIColor+Valdi.mm │ │ │ ├── UIImage+Valdi.h │ │ │ ├── UIImage+Valdi.m │ │ │ ├── UIView+ValdiBase.h │ │ │ ├── UIView+ValdiBase.m │ │ │ ├── UIView+ValdiObjects.h │ │ │ ├── UIView+ValdiObjects.m │ │ │ ├── Valdi.h │ │ │ ├── ValueFunctionWithSCValdiFunction.h │ │ │ └── ValueFunctionWithSCValdiFunction.mm │ │ └── jni/ │ │ ├── GlobalRefJavaObject.cpp │ │ ├── GlobalRefJavaObject.hpp │ │ ├── IndirectJavaGlobalRef.cpp │ │ ├── IndirectJavaGlobalRef.hpp │ │ ├── JNIConstants.cpp │ │ ├── JNIConstants.hpp │ │ ├── JNIMethodUtils.cpp │ │ ├── JNIMethodUtils.hpp │ │ ├── JavaCache.cpp │ │ ├── JavaCache.hpp │ │ ├── JavaClass.cpp │ │ ├── JavaClass.hpp │ │ ├── JavaDjinniUtils.hpp │ │ ├── JavaEnv.cpp │ │ ├── JavaEnv.hpp │ │ ├── JavaException.cpp │ │ ├── JavaException.hpp │ │ ├── JavaField.cpp │ │ ├── JavaField.hpp │ │ ├── JavaFunctionTrampolineHelper.cpp │ │ ├── JavaFunctionTrampolineHelper.hpp │ │ ├── JavaMethod.cpp │ │ ├── JavaMethod.hpp │ │ ├── JavaObject.cpp │ │ ├── JavaObject.hpp │ │ ├── JavaRunnable.cpp │ │ ├── JavaRunnable.hpp │ │ ├── JavaUtils.cpp │ │ ├── JavaUtils.hpp │ │ ├── JavaValue.cpp │ │ ├── JavaValue.hpp │ │ ├── ScopedJNIExceptionHandler.cpp │ │ ├── ScopedJNIExceptionHandler.hpp │ │ ├── ValueFunctionWithJavaFunction.cpp │ │ └── ValueFunctionWithJavaFunction.hpp │ ├── test/ │ │ └── ios/ │ │ └── SCValdiReferenceTable_tests.mm │ └── valdi_core.djinni └── valdi_protobuf/ ├── BUILD.bazel ├── scripts/ │ └── generate_protos.sh ├── src/ │ ├── benchmark/ │ │ └── Benchmark.cpp │ └── valdi_protobuf/ │ ├── DescriptorDatabase.cpp │ ├── DescriptorDatabase.hpp │ ├── DescriptorDatabaseBuilder.cpp │ ├── DescriptorDatabaseBuilder.hpp │ ├── Field.cpp │ ├── Field.hpp │ ├── FieldMap.cpp │ ├── FieldMap.hpp │ ├── FieldNumber.hpp │ ├── FullyQualifiedName.cpp │ ├── FullyQualifiedName.hpp │ ├── Message.cpp │ ├── Message.hpp │ ├── RepeatedField.cpp │ ├── RepeatedField.hpp │ ├── RepeatedFieldIterator.hpp │ └── protos/ │ ├── DescriptorIndex.pb.cc │ └── DescriptorIndex.pb.h └── test/ ├── .gitattributes ├── DescriptorDatabase_tests.cpp ├── FieldMap_tests.cpp ├── Field_tests.cpp ├── FullyQualifiedName_tests.cpp ├── Message_tests.cpp ├── proto/ │ └── test.proto └── protogen/ ├── test.pb.cc └── test.pb.h