]> insang Git - NaverKakaoNavigator.git/commitdiff
initialize master
authorinsang-hmogara-pc <insang@kakao.com>
Mon, 14 Sep 2026 06:31:09 +0000 (15:31 +0900)
committerinsang-hmogara-pc <insang@kakao.com>
Mon, 14 Sep 2026 06:31:09 +0000 (15:31 +0900)
193 files changed:
.gradle/9.3.0/checksums/checksums.lock [new file with mode: 0644]
.gradle/9.3.0/checksums/md5-checksums.bin [new file with mode: 0644]
.gradle/9.3.0/checksums/sha1-checksums.bin [new file with mode: 0644]
.gradle/9.3.0/executionHistory/executionHistory.bin [new file with mode: 0644]
.gradle/9.3.0/executionHistory/executionHistory.lock [new file with mode: 0644]
.gradle/9.3.0/fileChanges/last-build.bin [new file with mode: 0644]
.gradle/9.3.0/fileHashes/fileHashes.bin [new file with mode: 0644]
.gradle/9.3.0/fileHashes/fileHashes.lock [new file with mode: 0644]
.gradle/9.3.0/fileHashes/resourceHashesCache.bin [new file with mode: 0644]
.gradle/9.3.0/gc.properties [new file with mode: 0644]
.gradle/buildOutputCleanup/buildOutputCleanup.lock [new file with mode: 0644]
.gradle/buildOutputCleanup/cache.properties [new file with mode: 0644]
.gradle/buildOutputCleanup/outputFiles.bin [new file with mode: 0644]
.gradle/config.properties [new file with mode: 0644]
.gradle/file-system.probe [new file with mode: 0644]
.gradle/vcs-1/gc.properties [new file with mode: 0644]
.idea/.gitignore [new file with mode: 0644]
.idea/AndroidProjectSystem.xml [new file with mode: 0644]
.idea/caches/deviceStreaming.xml [new file with mode: 0644]
.idea/compiler.xml [new file with mode: 0644]
.idea/deploymentTargetSelector.xml [new file with mode: 0644]
.idea/gradle.xml [new file with mode: 0644]
.idea/migrations.xml [new file with mode: 0644]
.idea/misc.xml [new file with mode: 0644]
.idea/runConfigurations.xml [new file with mode: 0644]
app/build.gradle.kts [new file with mode: 0644]
app/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json [new file with mode: 0644]
app/build/intermediates/apk/debug/app-debug.apk [new file with mode: 0644]
app/build/intermediates/apk/debug/output-metadata.json [new file with mode: 0644]
app/build/intermediates/apk_ide_redirect_file/debug/createDebugApkListingFileRedirect/redirect.txt [new file with mode: 0644]
app/build/intermediates/app_metadata/debug/writeDebugAppMetadata/app-metadata.properties [new file with mode: 0644]
app/build/intermediates/compatible_screen_manifest/debug/createDebugCompatibleScreenManifests/output-metadata.json [new file with mode: 0644]
app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/processDebugResources/R.jar [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_0/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_1/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_2/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_3/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_4/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_5/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_0/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_1/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_2/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_3/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_4/graph.bin [new file with mode: 0644]
app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_5/graph.bin [new file with mode: 0644]
app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex [new file with mode: 0644]
app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex [new file with mode: 0644]
app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex [new file with mode: 0644]
app/build/intermediates/dex_archive_input_jar_hashes/debug/dexBuilderDebug/out [new file with mode: 0644]
app/build/intermediates/dex_number_of_buckets_file/debug/dexBuilderDebug/out [new file with mode: 0644]
app/build/intermediates/incremental/debug-mergeJavaRes/merge-state [new file with mode: 0644]
app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/BWc6ohWeoafLqhKPErP6mHQ+yjc= [new file with mode: 0644]
app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/S639YTI4udxKcHh0sp8GeGtkGAM= [new file with mode: 0644]
app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties [new file with mode: 0644]
app/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values/values.xml [new file with mode: 0644]
app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml [new file with mode: 0644]
app/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties [new file with mode: 0644]
app/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml [new file with mode: 0644]
app/build/intermediates/incremental/debug/packageDebugResources/merger.xml [new file with mode: 0644]
app/build/intermediates/incremental/mergeDebugAssets/merger.xml [new file with mode: 0644]
app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml [new file with mode: 0644]
app/build/intermediates/incremental/mergeDebugShaders/merger.xml [new file with mode: 0644]
app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt [new file with mode: 0644]
app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources [new file with mode: 0644]
app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 [new file with mode: 0644]
app/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/app_debug.kotlin_module [new file with mode: 0644]
app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/linked-resources-binary-format-debug.ap_ [new file with mode: 0644]
app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/output-metadata.json [new file with mode: 0644]
app/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt [new file with mode: 0644]
app/build/intermediates/manifest_merge_blame_file/debug/processDebugMainManifest/manifest-merger-blame-debug-report.txt [new file with mode: 0644]
app/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/base.jar [new file with mode: 0644]
app/build/intermediates/merged_manifest/debug/processDebugMainManifest/AndroidManifest.xml [new file with mode: 0644]
app/build/intermediates/merged_manifests/debug/processDebugManifest/AndroidManifest.xml [new file with mode: 0644]
app/build/intermediates/merged_manifests/debug/processDebugManifest/output-metadata.json [new file with mode: 0644]
app/build/intermediates/merged_res/debug/mergeDebugResources/values_values.arsc.flat [new file with mode: 0644]
app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/mergeDebugResources.json [new file with mode: 0644]
app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/values.json [new file with mode: 0644]
app/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json [new file with mode: 0644]
app/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt [new file with mode: 0644]
app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/AndroidManifest.xml [new file with mode: 0644]
app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/output-metadata.json [new file with mode: 0644]
app/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml [new file with mode: 0644]
app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/MainActivity.dex [new file with mode: 0644]
app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$Companion.dex [new file with mode: 0644]
app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.dex [new file with mode: 0644]
app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener.dex [new file with mode: 0644]
app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/d3dd2962249c7e1d73c75d7edd5ca469cdb22c872a5bda202fd3fc32c1b3e456_4.jar [new file with mode: 0644]
app/build/intermediates/runtime_symbol_list/debug/processDebugResources/R.txt [new file with mode: 0644]
app/build/intermediates/signing_config_versions/debug/writeDebugSigningConfigVersions/signing-config-versions.json [new file with mode: 0644]
app/build/intermediates/source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt [new file with mode: 0644]
app/build/intermediates/stable_resource_ids_file/debug/processDebugResources/stableIds.txt [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/cacheable/last-build.bin [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin [new file with mode: 0644]
app/build/kotlin/compileDebugKotlin/local-state/build-history.bin [new file with mode: 0644]
app/build/outputs/logs/manifest-merger-debug-report.txt [new file with mode: 0644]
app/build/tmp/kotlin-classes/debug/META-INF/app_debug.kotlin_module [new file with mode: 0644]
app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/MainActivity.class [new file with mode: 0644]
app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$Companion.class [new file with mode: 0644]
app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.class [new file with mode: 0644]
app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener.class [new file with mode: 0644]
app/src/main/AndroidManifest.xml [new file with mode: 0644]
app/src/main/java/com/example/naverkakaonavigator/MainActivity.kt [new file with mode: 0644]
app/src/main/java/com/example/naverkakaonavigator/NaverNotificationListener.kt [new file with mode: 0644]
app/src/main/res/values/strings.xml [new file with mode: 0644]
app/src/main/res/values/styles.xml [new file with mode: 0644]
build.gradle.kts [new file with mode: 0644]
build/reports/problems/problems-report.html [new file with mode: 0644]
gradle/wrapper/gradle-wrapper.jar [new file with mode: 0644]
gradle/wrapper/gradle-wrapper.properties [new file with mode: 0644]
gradlew [new file with mode: 0644]
gradlew.bat [new file with mode: 0644]
local.properties [new file with mode: 0644]
settings.gradle.kts [new file with mode: 0644]

diff --git a/.gradle/9.3.0/checksums/checksums.lock b/.gradle/9.3.0/checksums/checksums.lock
new file mode 100644 (file)
index 0000000..1fbbb25
Binary files /dev/null and b/.gradle/9.3.0/checksums/checksums.lock differ
diff --git a/.gradle/9.3.0/checksums/md5-checksums.bin b/.gradle/9.3.0/checksums/md5-checksums.bin
new file mode 100644 (file)
index 0000000..267a0c6
Binary files /dev/null and b/.gradle/9.3.0/checksums/md5-checksums.bin differ
diff --git a/.gradle/9.3.0/checksums/sha1-checksums.bin b/.gradle/9.3.0/checksums/sha1-checksums.bin
new file mode 100644 (file)
index 0000000..170bd8c
Binary files /dev/null and b/.gradle/9.3.0/checksums/sha1-checksums.bin differ
diff --git a/.gradle/9.3.0/executionHistory/executionHistory.bin b/.gradle/9.3.0/executionHistory/executionHistory.bin
new file mode 100644 (file)
index 0000000..6800557
Binary files /dev/null and b/.gradle/9.3.0/executionHistory/executionHistory.bin differ
diff --git a/.gradle/9.3.0/executionHistory/executionHistory.lock b/.gradle/9.3.0/executionHistory/executionHistory.lock
new file mode 100644 (file)
index 0000000..0d1e127
Binary files /dev/null and b/.gradle/9.3.0/executionHistory/executionHistory.lock differ
diff --git a/.gradle/9.3.0/fileChanges/last-build.bin b/.gradle/9.3.0/fileChanges/last-build.bin
new file mode 100644 (file)
index 0000000..f76dd23
Binary files /dev/null and b/.gradle/9.3.0/fileChanges/last-build.bin differ
diff --git a/.gradle/9.3.0/fileHashes/fileHashes.bin b/.gradle/9.3.0/fileHashes/fileHashes.bin
new file mode 100644 (file)
index 0000000..6100392
Binary files /dev/null and b/.gradle/9.3.0/fileHashes/fileHashes.bin differ
diff --git a/.gradle/9.3.0/fileHashes/fileHashes.lock b/.gradle/9.3.0/fileHashes/fileHashes.lock
new file mode 100644 (file)
index 0000000..5663cf4
Binary files /dev/null and b/.gradle/9.3.0/fileHashes/fileHashes.lock differ
diff --git a/.gradle/9.3.0/fileHashes/resourceHashesCache.bin b/.gradle/9.3.0/fileHashes/resourceHashesCache.bin
new file mode 100644 (file)
index 0000000..909e080
Binary files /dev/null and b/.gradle/9.3.0/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/9.3.0/gc.properties b/.gradle/9.3.0/gc.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644 (file)
index 0000000..188bd57
Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644 (file)
index 0000000..2237a58
--- /dev/null
@@ -0,0 +1,2 @@
+#Wed Aug 26 11:55:15 KST 2026
+gradle.version=9.3.0
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644 (file)
index 0000000..892ce19
Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/config.properties b/.gradle/config.properties
new file mode 100644 (file)
index 0000000..d9416fd
--- /dev/null
@@ -0,0 +1,2 @@
+#Wed Aug 26 11:54:54 KST 2026
+java.home=C\:\\Program Files\\Android\\Android Studio\\jbr
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
new file mode 100644 (file)
index 0000000..4f92e4c
Binary files /dev/null and b/.gradle/file-system.probe differ
diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644 (file)
index 0000000..26d3352
--- /dev/null
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml
new file mode 100644 (file)
index 0000000..4a53bee
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="AndroidProjectSystem">
+    <option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/caches/deviceStreaming.xml b/.idea/caches/deviceStreaming.xml
new file mode 100644 (file)
index 0000000..60ea70d
--- /dev/null
@@ -0,0 +1,2349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="DeviceStreaming">
+    <option name="deviceSelectionList">
+      <list>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="Sony" />
+          <option name="codename" value="A402SO" />
+          <option name="id" value="A402SO" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Sony" />
+          <option name="name" value="Xperia 10 VI" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2520" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="27" />
+          <option name="brand" value="DOCOMO" />
+          <option name="codename" value="F01L" />
+          <option name="id" value="F01L" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="FUJITSU" />
+          <option name="name" value="F-01L" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1280" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="Infinix" />
+          <option name="codename" value="Infinix-X6525" />
+          <option name="id" value="Infinix-X6525" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="INFINIX MOBILITY LIMITED" />
+          <option name="name" value="Infinix SMART 8" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="OnePlus" />
+          <option name="codename" value="OP535DL1" />
+          <option name="id" value="OP535DL1" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="OnePlus" />
+          <option name="name" value="Nord CE 2 Lite 5G" />
+          <option name="screenDensity" value="401" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2412" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="OnePlus" />
+          <option name="codename" value="OP5552L1" />
+          <option name="id" value="OP5552L1" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="OnePlus" />
+          <option name="name" value="10T 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2412" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="OPPO" />
+          <option name="codename" value="OP573DL1" />
+          <option name="id" value="OP573DL1" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="OPPO" />
+          <option name="name" value="A79 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="OPPO" />
+          <option name="codename" value="OP5759L1" />
+          <option name="id" value="OP5759L1" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="OPPO" />
+          <option name="name" value="A38" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="realme" />
+          <option name="codename" value="RE58C2" />
+          <option name="id" value="RE58C2" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="realme" />
+          <option name="name" value="C53" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="realme" />
+          <option name="codename" value="RMX3231" />
+          <option name="id" value="RMX3231" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="realme" />
+          <option name="name" value="RMX3231" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="SC-51C" />
+          <option name="id" value="SC-51C" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="SC-51E" />
+          <option name="id" value="SC-51E" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="SC-53C" />
+          <option name="id" value="SC-53C" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A53 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="SCG13" />
+          <option name="id" value="SCG13" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="28" />
+          <option name="brand" value="DOCOMO" />
+          <option name="codename" value="SH-01L" />
+          <option name="id" value="SH-01L" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="SHARP" />
+          <option name="name" value="AQUOS sense2 SH-01L" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="TECNO" />
+          <option name="codename" value="TECNO-BF6" />
+          <option name="id" value="TECNO-BF6" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="TECNO" />
+          <option name="name" value="POP 7" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="TECNO" />
+          <option name="codename" value="TECNO-BF7" />
+          <option name="id" value="TECNO-BF7" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="TECNO" />
+          <option name="name" value="TECNO" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="TECNO" />
+          <option name="codename" value="TECNO-BG6" />
+          <option name="id" value="TECNO-BG6" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="TECNO MOBILE LIMITED" />
+          <option name="name" value="SPARK Go 2024" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="TECNO" />
+          <option name="codename" value="TECNO-KI5k" />
+          <option name="id" value="TECNO-KI5k" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="TECNO" />
+          <option name="name" value="SPARK 10C" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a03su" />
+          <option name="id" value="a03su" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A03s" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a03sutfn" />
+          <option name="id" value="a03sutfn" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A03s" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a04s" />
+          <option name="id" value="a04s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A04s" />
+          <option name="screenDensity" value="300" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a05s" />
+          <option name="id" value="a05s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A05s" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a06" />
+          <option name="id" value="a06" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A06" />
+          <option name="screenDensity" value="300" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a13" />
+          <option name="id" value="a13" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A13" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a13x" />
+          <option name="id" value="a13x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A13 5G" />
+          <option name="screenDensity" value="300" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a14m" />
+          <option name="id" value="a14m" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A14" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a14xmsq" />
+          <option name="id" value="a14xmsq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A14 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a14xmtfn" />
+          <option name="id" value="a14xmtfn" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A14 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a15" />
+          <option name="id" value="a15" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A15" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a15x" />
+          <option name="id" value="a15x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A15 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a15x" />
+          <option name="id" value="a15x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A15 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a15xtfn" />
+          <option name="id" value="a15xtfn" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A15 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a16" />
+          <option name="id" value="a16" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A16" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a16x" />
+          <option name="id" value="a16x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A16 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a16x" />
+          <option name="id" value="a16x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A16 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a16xeea" />
+          <option name="id" value="a16xeea" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A16 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a21" />
+          <option name="id" value="a21" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A21" />
+          <option name="screenDensity" value="300" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a23xq" />
+          <option name="id" value="a23xq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A23 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a26x" />
+          <option name="id" value="a26x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A26 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a31" />
+          <option name="id" value="a31" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A31" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a32" />
+          <option name="id" value="a32" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A32" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a34x" />
+          <option name="id" value="a34x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A34 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a35x" />
+          <option name="id" value="a35x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A35 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a35x" />
+          <option name="id" value="a35x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A35 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a35x" />
+          <option name="id" value="a35x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A35 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a36xq" />
+          <option name="id" value="a36xq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A36 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a36xq" />
+          <option name="id" value="a36xq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A36 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a52xq" />
+          <option name="id" value="a52xq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A52 5G" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a54xue" />
+          <option name="id" value="a54xue" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A54 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a55xzh" />
+          <option name="id" value="a55xzh" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A55 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="a56x" />
+          <option name="id" value="a56x" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy A56 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="akita" />
+          <option name="id" value="akita" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="akita" />
+          <option name="id" value="akita" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="arcfox" />
+          <option name="id" value="arcfox" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="razr plus 2024" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="1272" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="aruba" />
+          <option name="id" value="aruba" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto e20" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="austin" />
+          <option name="id" value="austin" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g 5G (2022)" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b0q" />
+          <option name="id" value="b0q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22 Ultra" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b0q" />
+          <option name="id" value="b0q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22 Ultra" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b0qksx" />
+          <option name="id" value="b0qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2316" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b0qxxx" />
+          <option name="id" value="b0qxxx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2316" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b4qsqw" />
+          <option name="id" value="b4qsqw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip4" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2640" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b5qsqw" />
+          <option name="id" value="b5qsqw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip5" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="748" />
+          <option name="screenY" value="720" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b5qxeea" />
+          <option name="id" value="b5qxeea" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip5" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="748" />
+          <option name="screenY" value="720" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b6q" />
+          <option name="id" value="b6q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip6" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2640" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b6qksx" />
+          <option name="id" value="b6qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip6" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2640" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="b6qsqw" />
+          <option name="id" value="b6qsqw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Flip6" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2640" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="blazer" />
+          <option name="default" value="true" />
+          <option name="id" value="blazer" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 10 Pro" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2410" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="32" />
+          <option name="brand" value="google" />
+          <option name="codename" value="bluejay" />
+          <option name="id" value="bluejay" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 6a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="c1q" />
+          <option name="id" value="c1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note20 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="c1qksw" />
+          <option name="id" value="c1qksw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note20 5G" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="c2q" />
+          <option name="id" value="c2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note20 Ultra 5G" />
+          <option name="screenDensity" value="560" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="c2qksw" />
+          <option name="id" value="c2qksw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note20 Ultra 5G" />
+          <option name="screenDensity" value="560" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="c2s" />
+          <option name="id" value="c2s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Note20 Ultra 5G" />
+          <option name="screenDensity" value="560" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="caiman" />
+          <option name="id" value="caiman" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="960" />
+          <option name="screenY" value="2142" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="caiman" />
+          <option name="id" value="caiman" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="960" />
+          <option name="screenY" value="2142" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="cancun" />
+          <option name="id" value="cancun" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g14" />
+          <option name="screenDensity" value="400" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="comet" />
+          <option name="id" value="comet" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="comet" />
+          <option name="id" value="comet" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="comet" />
+          <option name="id" value="comet" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="37" />
+          <option name="brand" value="google" />
+          <option name="codename" value="cubs" />
+          <option name="id" value="cubs" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 11" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="cuscoi" />
+          <option name="id" value="cuscoi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g96 5G" />
+          <option name="screenDensity" value="400" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm1q" />
+          <option name="id" value="dm1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm1q-SM-S911U" />
+          <option name="id" value="dm1q-SM-S911U" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm1qcsx" />
+          <option name="id" value="dm1qcsx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm2q" />
+          <option name="id" value="dm2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm2qksx" />
+          <option name="id" value="dm2qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="dm3q" />
+          <option name="id" value="dm3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23 Ultra" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3088" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="dubai" />
+          <option name="id" value="dubai" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="edge 30" />
+          <option name="screenDensity" value="405" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e1q" />
+          <option name="id" value="e1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e1q" />
+          <option name="id" value="e1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e1s" />
+          <option name="id" value="e1s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e2q" />
+          <option name="id" value="e2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e2s" />
+          <option name="id" value="e2s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e2sksx" />
+          <option name="id" value="e2sksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e3q" />
+          <option name="id" value="e3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3120" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e3q" />
+          <option name="id" value="e3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3120" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e3qcsx" />
+          <option name="id" value="e3qcsx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3120" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="e3qksx" />
+          <option name="id" value="e3qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S24 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3120" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="eos" />
+          <option name="id" value="eos" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Eos" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="384" />
+          <option name="screenY" value="384" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix" />
+          <option name="id" value="felix" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix" />
+          <option name="id" value="felix" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix" />
+          <option name="id" value="felix" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="felix_camera" />
+          <option name="id" value="felix_camera" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Fold (Camera-enabled)" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="2208" />
+          <option name="screenY" value="1840" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="fogona" />
+          <option name="id" value="fogona" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g play - 2024" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="fogorow" />
+          <option name="id" value="fogorow" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g24" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="fogos" />
+          <option name="id" value="fogos" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g34 5G" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="frankel" />
+          <option name="default" value="true" />
+          <option name="id" value="frankel" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 10" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="g0q" />
+          <option name="id" value="g0q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="g0q" />
+          <option name="id" value="g0q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="g0qksx" />
+          <option name="id" value="g0qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="gnevan" />
+          <option name="id" value="gnevan" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g stylus (2023)" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="37" />
+          <option name="brand" value="google" />
+          <option name="codename" value="grizzly" />
+          <option name="id" value="grizzly" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 11 Pro" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2410" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gta4lwifi" />
+          <option name="id" value="gta4lwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab A7" />
+          <option name="screenDensity" value="240" />
+          <option name="screenX" value="1200" />
+          <option name="screenY" value="2000" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gta9pwifi" />
+          <option name="id" value="gta9pwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab A9+" />
+          <option name="screenDensity" value="240" />
+          <option name="screenX" value="800" />
+          <option name="screenY" value="1280" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts10pwifi" />
+          <option name="formFactor" value="Tablet" />
+          <option name="id" value="gts10pwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S10+" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1752" />
+          <option name="screenY" value="2800" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts7lwifi" />
+          <option name="id" value="gts7lwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S7" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts7xllite" />
+          <option name="id" value="gts7xllite" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S7 FE 5G" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts7xlwifi" />
+          <option name="id" value="gts7xlwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S7+" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1752" />
+          <option name="screenY" value="2800" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts8uwifi" />
+          <option name="formFactor" value="Tablet" />
+          <option name="id" value="gts8uwifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S8 Ultra" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1848" />
+          <option name="screenY" value="2960" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts8wifi" />
+          <option name="formFactor" value="Tablet" />
+          <option name="id" value="gts8wifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S8" />
+          <option name="screenDensity" value="274" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts9fe" />
+          <option name="id" value="gts9fe" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S9 FE 5G" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="2304" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="gts9wifi" />
+          <option name="id" value="gts9wifi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Tab S9" />
+          <option name="screenDensity" value="340" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="guamna" />
+          <option name="id" value="guamna" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g play (2021)" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="guamp" />
+          <option name="id" value="guamp" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g(9) play" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="husky" />
+          <option name="id" value="husky" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8 Pro" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="husky" />
+          <option name="id" value="husky" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8 Pro" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="java" />
+          <option name="id" value="java" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="G20" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="kansas" />
+          <option name="id" value="kansas" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g - 2025" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1604" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="komodo" />
+          <option name="id" value="komodo" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro XL" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="komodo" />
+          <option name="id" value="komodo" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9 Pro XL" />
+          <option name="screenDensity" value="360" />
+          <option name="screenX" value="1008" />
+          <option name="screenY" value="2244" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="lamul" />
+          <option name="id" value="lamul" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g05" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1604" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="lion" />
+          <option name="id" value="lion" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g04" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1612" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="lynx" />
+          <option name="id" value="lynx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 7a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="lyriq" />
+          <option name="id" value="lyriq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="edge 40" />
+          <option name="screenDensity" value="400" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="m1q" />
+          <option name="id" value="m1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S26" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="m2q" />
+          <option name="id" value="m2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S26+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="malmo" />
+          <option name="id" value="malmo" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g85 5G" />
+          <option name="screenDensity" value="400" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="manaus" />
+          <option name="id" value="manaus" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="edge 40 neo" />
+          <option name="screenDensity" value="400" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="maui" />
+          <option name="id" value="maui" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g play - 2023" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="mustang" />
+          <option name="default" value="true" />
+          <option name="id" value="mustang" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 10 Pro XL" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2404" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="o1q" />
+          <option name="id" value="o1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 5G" />
+          <option name="screenDensity" value="421" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="o1q" />
+          <option name="id" value="o1q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 5G" />
+          <option name="screenDensity" value="421" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="o1s" />
+          <option name="id" value="o1s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="31" />
+          <option name="brand" value="google" />
+          <option name="codename" value="oriole" />
+          <option name="id" value="oriole" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="p3q" />
+          <option name="id" value="p3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 Ultra 5G" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3200" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="p3s" />
+          <option name="id" value="p3s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 Ultra 5G" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3200" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="pa1qksx" />
+          <option name="id" value="pa1qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="pa2q" />
+          <option name="id" value="pa2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="pa2qxxx" />
+          <option name="id" value="pa2qxxx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25+" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="pa3q" />
+          <option name="default" value="true" />
+          <option name="id" value="pa3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="pa3q" />
+          <option name="default" value="true" />
+          <option name="id" value="pa3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25 Ultra" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="panther" />
+          <option name="id" value="panther" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 7" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="motorola" />
+          <option name="codename" value="penang" />
+          <option name="id" value="penang" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Motorola" />
+          <option name="name" value="moto g53 5G" />
+          <option name="screenDensity" value="280" />
+          <option name="screenX" value="720" />
+          <option name="screenY" value="1600" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="psq" />
+          <option name="id" value="psq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S25 Edge" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3120" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q2qsqw" />
+          <option name="id" value="q2qsqw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold3 5G" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="832" />
+          <option name="screenY" value="2268" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q4qksx" />
+          <option name="id" value="q4qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold4" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1812" />
+          <option name="screenY" value="2176" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q5q" />
+          <option name="id" value="q5q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold5" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1812" />
+          <option name="screenY" value="2176" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q5qksx" />
+          <option name="id" value="q5qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold5" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1812" />
+          <option name="screenY" value="2176" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q6q" />
+          <option name="id" value="q6q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1856" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q6qksx" />
+          <option name="id" value="q6qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1856" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q6qsqw" />
+          <option name="id" value="q6qsqw" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z Fold6" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1856" />
+          <option name="screenY" value="2160" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="q7mq" />
+          <option name="id" value="q7mq" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy Z TriFold" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="2160" />
+          <option name="screenY" value="1584" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r0q" />
+          <option name="id" value="r0q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22" />
+          <option name="screenDensity" value="425" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r0qcsx" />
+          <option name="id" value="r0qcsx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r0qksx" />
+          <option name="id" value="r0qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S22" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="google" />
+          <option name="codename" value="r11" />
+          <option name="formFactor" value="Wear OS" />
+          <option name="id" value="r11" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Watch" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="384" />
+          <option name="screenY" value="384" />
+          <option name="type" value="WEAR_OS" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r11q" />
+          <option name="id" value="r11q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23 FE" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r11qcs" />
+          <option name="id" value="r11qcs" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23 FE" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r11s" />
+          <option name="id" value="r11s" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S23 FE" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r8q" />
+          <option name="id" value="r8q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S20 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r8qcsx" />
+          <option name="id" value="r8qcsx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S20 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r8qksx" />
+          <option name="id" value="r8qksx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S20 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r9q" />
+          <option name="id" value="r9q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r9q-SM-G990U" />
+          <option name="id" value="r9q-SM-G990U" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="r9q2csx" />
+          <option name="id" value="r9q2csx" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21 FE 5G" />
+          <option name="screenDensity" value="480" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="rango" />
+          <option name="default" value="true" />
+          <option name="id" value="rango" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 10 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+          <option name="tags">
+            <list>
+              <option value="dda-default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="30" />
+          <option name="brand" value="google" />
+          <option name="codename" value="redfin" />
+          <option name="id" value="redfin" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 5" />
+          <option name="screenDensity" value="440" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2340" />
+          <option name="tags">
+            <list>
+              <option value="default" />
+            </list>
+          </option>
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="shiba" />
+          <option name="id" value="shiba" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="shiba" />
+          <option name="id" value="shiba" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 8" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="t2q" />
+          <option name="id" value="t2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21+ 5G" />
+          <option name="screenDensity" value="394" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="t2q" />
+          <option name="id" value="t2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S21+ 5G" />
+          <option name="screenDensity" value="394" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2400" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tangorpro" />
+          <option name="formFactor" value="Tablet" />
+          <option name="id" value="tangorpro" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Tablet" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tangorpro" />
+          <option name="formFactor" value="Tablet" />
+          <option name="id" value="tangorpro" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel Tablet" />
+          <option name="screenDensity" value="320" />
+          <option name="screenX" value="1600" />
+          <option name="screenY" value="2560" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tegu" />
+          <option name="id" value="tegu" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9a" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tokay" />
+          <option name="id" value="tokay" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="35" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tokay" />
+          <option name="id" value="tokay" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="36" />
+          <option name="brand" value="google" />
+          <option name="codename" value="tokay" />
+          <option name="id" value="tokay" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 9" />
+          <option name="screenDensity" value="420" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2424" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="34" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="xcover7" />
+          <option name="id" value="xcover7" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy XCover7" />
+          <option name="screenDensity" value="450" />
+          <option name="screenX" value="1080" />
+          <option name="screenY" value="2408" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="y2q" />
+          <option name="id" value="y2q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S20+ 5G" />
+          <option name="screenDensity" value="600" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3200" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="37" />
+          <option name="brand" value="google" />
+          <option name="codename" value="yogi" />
+          <option name="id" value="yogi" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Google" />
+          <option name="name" value="Pixel 11 Pro Fold" />
+          <option name="screenDensity" value="390" />
+          <option name="screenX" value="2076" />
+          <option name="screenY" value="2152" />
+        </PersistentDeviceSelectionData>
+        <PersistentDeviceSelectionData>
+          <option name="api" value="33" />
+          <option name="brand" value="samsung" />
+          <option name="codename" value="z3q" />
+          <option name="id" value="z3q" />
+          <option name="labId" value="google" />
+          <option name="manufacturer" value="Samsung" />
+          <option name="name" value="Galaxy S20 Ultra 5G" />
+          <option name="screenDensity" value="560" />
+          <option name="screenX" value="1440" />
+          <option name="screenY" value="3200" />
+        </PersistentDeviceSelectionData>
+      </list>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644 (file)
index 0000000..bcf4711
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="CompilerConfiguration">
+    <bytecodeTargetLevel target="25" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
new file mode 100644 (file)
index 0000000..b9451c7
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="deploymentTargetSelector">
+    <selectionStates>
+      <SelectionState runConfigName="app">
+        <option name="selectionMode" value="DROPDOWN" />
+        <DropdownSelection timestamp="2026-08-30T10:31:28.121751900Z">
+          <Target type="DEFAULT_BOOT">
+            <handle>
+              <DeviceId pluginId="PhysicalDevice" identifier="serial=R5CX42GV37H" />
+            </handle>
+          </Target>
+        </DropdownSelection>
+        <DialogSelection />
+      </SelectionState>
+    </selectionStates>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
new file mode 100644 (file)
index 0000000..639c779
--- /dev/null
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="GradleMigrationSettings" migrationVersion="1" />
+  <component name="GradleSettings">
+    <option name="linkedExternalProjectsSettings">
+      <GradleProjectSettings>
+        <option name="testRunner" value="CHOOSE_PER_TEST" />
+        <option name="externalProjectPath" value="$PROJECT_DIR$" />
+        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
+        <option name="modules">
+          <set>
+            <option value="$PROJECT_DIR$" />
+            <option value="$PROJECT_DIR$/app" />
+          </set>
+        </option>
+      </GradleProjectSettings>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
new file mode 100644 (file)
index 0000000..f8051a6
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectMigrations">
+    <option name="MigrateToGradleLocalJavaHome">
+      <set>
+        <option value="$PROJECT_DIR$" />
+      </set>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644 (file)
index 0000000..29a5cc0
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ExternalStorageConfigurationManager" enabled="true" />
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_25" default="true" project-jdk-name="jbr-25" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/build/classes" />
+  </component>
+  <component name="ProjectType">
+    <option name="id" value="Android" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
new file mode 100644 (file)
index 0000000..16660f1
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="RunConfigurationProducerService">
+    <option name="ignoredProducers">
+      <set>
+        <option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
+        <option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
+        <option value="com.intellij.execution.junit.PatternConfigurationProducer" />
+        <option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
+        <option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
+        <option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
+        <option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
+        <option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
+      </set>
+    </option>
+  </component>
+</project>
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644 (file)
index 0000000..f59129c
--- /dev/null
@@ -0,0 +1,25 @@
+plugins {
+    id("com.android.application")
+    id("org.jetbrains.kotlin.android")
+}
+
+android {
+    namespace = "com.example.navkakaonavigator"
+    compileSdk = 35
+
+    defaultConfig {
+        applicationId = "com.example.navkakaonavigator"
+        minSdk = 26
+        targetSdk = 35
+        versionCode = 1
+        versionName = "1.0"
+    }
+    compileOptions {
+        sourceCompatibility = JavaVersion.VERSION_1_8
+        targetCompatibility = JavaVersion.VERSION_1_8
+    }
+
+    kotlinOptions {
+        jvmTarget = "1.8"
+    }
+}
diff --git a/app/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json b/app/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json
new file mode 100644 (file)
index 0000000..9e26dfe
--- /dev/null
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/app/build/intermediates/apk/debug/app-debug.apk b/app/build/intermediates/apk/debug/app-debug.apk
new file mode 100644 (file)
index 0000000..65a6072
Binary files /dev/null and b/app/build/intermediates/apk/debug/app-debug.apk differ
diff --git a/app/build/intermediates/apk/debug/output-metadata.json b/app/build/intermediates/apk/debug/output-metadata.json
new file mode 100644 (file)
index 0000000..2e04f51
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "APK",
+    "kind": "Directory"
+  },
+  "applicationId": "com.example.navkakaonavigator",
+  "variantName": "debug",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "attributes": [],
+      "versionCode": 1,
+      "versionName": "1.0",
+      "outputFile": "app-debug.apk"
+    }
+  ],
+  "elementType": "File",
+  "minSdkVersionForDexing": 26
+}
\ No newline at end of file
diff --git a/app/build/intermediates/apk_ide_redirect_file/debug/createDebugApkListingFileRedirect/redirect.txt b/app/build/intermediates/apk_ide_redirect_file/debug/createDebugApkListingFileRedirect/redirect.txt
new file mode 100644 (file)
index 0000000..54b8921
--- /dev/null
@@ -0,0 +1,2 @@
+#- File Locator -
+listingFile=../../../apk/debug/output-metadata.json
diff --git a/app/build/intermediates/app_metadata/debug/writeDebugAppMetadata/app-metadata.properties b/app/build/intermediates/app_metadata/debug/writeDebugAppMetadata/app-metadata.properties
new file mode 100644 (file)
index 0000000..d3f8884
--- /dev/null
@@ -0,0 +1,2 @@
+appMetadataVersion=1.1
+androidGradlePluginVersion=8.7.3
diff --git a/app/build/intermediates/compatible_screen_manifest/debug/createDebugCompatibleScreenManifests/output-metadata.json b/app/build/intermediates/compatible_screen_manifest/debug/createDebugCompatibleScreenManifests/output-metadata.json
new file mode 100644 (file)
index 0000000..91e38aa
--- /dev/null
@@ -0,0 +1,10 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "COMPATIBLE_SCREEN_MANIFEST",
+    "kind": "Directory"
+  },
+  "applicationId": "com.example.navkakaonavigator",
+  "variantName": "debug",
+  "elements": []
+}
\ No newline at end of file
diff --git a/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/processDebugResources/R.jar b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/processDebugResources/R.jar
new file mode 100644 (file)
index 0000000..6d7be46
Binary files /dev/null and b/app/build/intermediates/compile_and_runtime_not_namespaced_r_class_jar/debug/processDebugResources/R.jar differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_0/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_0/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_1/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_1/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_2/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_2/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_3/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_3/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_4/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_4/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_5/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/dirs_bucket_5/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_0/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_0/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_0/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_1/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_1/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_1/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_2/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_2/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_2/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_3/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_3/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_3/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_4/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_4/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_4/graph.bin differ
diff --git a/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_5/graph.bin b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_5/graph.bin
new file mode 100644 (file)
index 0000000..601f245
Binary files /dev/null and b/app/build/intermediates/desugar_graph/debug/dexBuilderDebug/out/currentProject/jar_9472753d63a492ef3bea96ad0b024bea2a8d09bbaf060dada41dbcefd380afe7_bucket_5/graph.bin differ
diff --git a/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex b/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
new file mode 100644 (file)
index 0000000..7400177
Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex differ
diff --git a/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex b/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex
new file mode 100644 (file)
index 0000000..10ba6c4
Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeProjectDexDebug/0/classes.dex differ
diff --git a/app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex b/app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex
new file mode 100644 (file)
index 0000000..697a37a
Binary files /dev/null and b/app/build/intermediates/dex/debug/mergeProjectDexDebug/11/classes.dex differ
diff --git a/app/build/intermediates/dex_archive_input_jar_hashes/debug/dexBuilderDebug/out b/app/build/intermediates/dex_archive_input_jar_hashes/debug/dexBuilderDebug/out
new file mode 100644 (file)
index 0000000..8329c6c
Binary files /dev/null and b/app/build/intermediates/dex_archive_input_jar_hashes/debug/dexBuilderDebug/out differ
diff --git a/app/build/intermediates/dex_number_of_buckets_file/debug/dexBuilderDebug/out b/app/build/intermediates/dex_number_of_buckets_file/debug/dexBuilderDebug/out
new file mode 100644 (file)
index 0000000..62f9457
--- /dev/null
@@ -0,0 +1 @@
+6
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state
new file mode 100644 (file)
index 0000000..7e0bb43
Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/merge-state differ
diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/BWc6ohWeoafLqhKPErP6mHQ+yjc= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/BWc6ohWeoafLqhKPErP6mHQ+yjc=
new file mode 100644 (file)
index 0000000..fb794be
Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/BWc6ohWeoafLqhKPErP6mHQ+yjc= differ
diff --git a/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/S639YTI4udxKcHh0sp8GeGtkGAM= b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/S639YTI4udxKcHh0sp8GeGtkGAM=
new file mode 100644 (file)
index 0000000..9b7f2a8
Binary files /dev/null and b/app/build/intermediates/incremental/debug-mergeJavaRes/zip-cache/S639YTI4udxKcHh0sp8GeGtkGAM= differ
diff --git a/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties b/app/build/intermediates/incremental/debug/mergeDebugResources/compile-file-map.properties
new file mode 100644 (file)
index 0000000..b6db1da
--- /dev/null
@@ -0,0 +1 @@
+#Wed Aug 26 15:42:38 KST 2026
diff --git a/app/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values/values.xml b/app/build/intermediates/incremental/debug/mergeDebugResources/merged.dir/values/values.xml
new file mode 100644 (file)
index 0000000..6a625c4
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">네이버지도 알림 내비게이션</string>
+    <style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml b/app/build/intermediates/incremental/debug/mergeDebugResources/merger.xml
new file mode 100644 (file)
index 0000000..6f48449
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res"><file path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res\values\strings.xml" qualifiers=""><string name="app_name">네이버지도 알림 내비게이션</string></file><file path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res\values\styles.xml" qualifiers=""><style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties b/app/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties
new file mode 100644 (file)
index 0000000..b6db1da
--- /dev/null
@@ -0,0 +1 @@
+#Wed Aug 26 15:42:38 KST 2026
diff --git a/app/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml b/app/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml
new file mode 100644 (file)
index 0000000..6a625c4
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">네이버지도 알림 내비게이션</string>
+    <style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/debug/packageDebugResources/merger.xml b/app/build/intermediates/incremental/debug/packageDebugResources/merger.xml
new file mode 100644 (file)
index 0000000..6f48449
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res"><file path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res\values\strings.xml" qualifiers=""><string name="app_name">네이버지도 알림 내비게이션</string></file><file path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res\values\styles.xml" qualifiers=""><style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style></file></source></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\resValues\debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\resValues\debug"/></dataSet><mergedItems/></merger>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugAssets/merger.xml b/app/build/intermediates/incremental/mergeDebugAssets/merger.xml
new file mode 100644 (file)
index 0000000..d6056ba
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\intermediates\shader_assets\debug\compileDebugShaders\out"/></dataSet></merger>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml b/app/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml
new file mode 100644 (file)
index 0000000..50acdad
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\jniLibs"/></dataSet></merger>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/mergeDebugShaders/merger.xml b/app/build/intermediates/incremental/mergeDebugShaders/merger.xml
new file mode 100644 (file)
index 0000000..092fab2
--- /dev/null
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\shaders"/></dataSet></merger>
\ No newline at end of file
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt b/app/build/intermediates/incremental/packageDebug/tmp/debug/dex-renamer-state.txt
new file mode 100644 (file)
index 0000000..aeb50f9
--- /dev/null
@@ -0,0 +1,10 @@
+#Fri Sep 11 15:32:51 KST 2026
+base.0=C\:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\build\\intermediates\\dex\\debug\\mergeExtDexDebug\\classes.dex
+base.1=C\:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\0\\classes.dex
+base.2=C\:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\build\\intermediates\\dex\\debug\\mergeProjectDexDebug\\11\\classes.dex
+path.0=classes.dex
+path.1=0/classes.dex
+path.2=11/classes.dex
+renamed.0=classes.dex
+renamed.1=classes2.dex
+renamed.2=classes3.dex
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources
new file mode 100644 (file)
index 0000000..0a7750e
Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/androidResources differ
diff --git a/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0
new file mode 100644 (file)
index 0000000..536880e
Binary files /dev/null and b/app/build/intermediates/incremental/packageDebug/tmp/debug/zip-cache/javaResources0 differ
diff --git a/app/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/app_debug.kotlin_module b/app/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/app_debug.kotlin_module
new file mode 100644 (file)
index 0000000..c998a4c
Binary files /dev/null and b/app/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/app_debug.kotlin_module differ
diff --git a/app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/linked-resources-binary-format-debug.ap_ b/app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/linked-resources-binary-format-debug.ap_
new file mode 100644 (file)
index 0000000..78ab097
Binary files /dev/null and b/app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/linked-resources-binary-format-debug.ap_ differ
diff --git a/app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/output-metadata.json b/app/build/intermediates/linked_resources_binary_format/debug/processDebugResources/output-metadata.json
new file mode 100644 (file)
index 0000000..a295aea
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "LINKED_RESOURCES_BINARY_FORMAT",
+    "kind": "Directory"
+  },
+  "applicationId": "com.example.navkakaonavigator",
+  "variantName": "debug",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "attributes": [],
+      "versionCode": 1,
+      "versionName": "1.0",
+      "outputFile": "linked-resources-binary-format-debug.ap_"
+    }
+  ],
+  "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt b/app/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt
new file mode 100644 (file)
index 0000000..4d15e96
--- /dev/null
@@ -0,0 +1,4 @@
+R_DEF: Internal format may change without notice
+local
+string app_name
+style AppTheme
diff --git a/app/build/intermediates/manifest_merge_blame_file/debug/processDebugMainManifest/manifest-merger-blame-debug-report.txt b/app/build/intermediates/manifest_merge_blame_file/debug/processDebugMainManifest/manifest-merger-blame-debug-report.txt
new file mode 100644 (file)
index 0000000..0bfc407
--- /dev/null
@@ -0,0 +1,65 @@
+1<?xml version="1.0" encoding="utf-8"?>
+2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+3    package="com.example.navkakaonavigator"
+4    android:versionCode="1"
+5    android:versionName="1.0" >
+6
+7    <uses-sdk
+8        android:minSdkVersion="26"
+9        android:targetSdkVersion="35" />
+10
+11    <uses-permission android:name="android.permission.INTERNET" />
+11-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:2:5-67
+11-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:2:22-64
+12
+13    <application
+13-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:4:5-28:19
+14        android:allowBackup="false"
+14-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:5:9-36
+15        android:debuggable="true"
+16        android:extractNativeLibs="false"
+17        android:label="텔레그램"
+17-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:6:9-29
+18        android:supportsRtl="true"
+18-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:7:9-35
+19        android:testOnly="true"
+20        android:theme="@style/AppTheme" >
+20-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:8:9-40
+21        <activity
+21-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:10:9-17:20
+22            android:name="com.example.navkakaonavigator.MainActivity"
+22-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:11:13-41
+23            android:exported="true" >
+23-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:12:13-36
+24            <intent-filter>
+24-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:13:13-16:29
+25                <action android:name="android.intent.action.MAIN" />
+25-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:14:17-69
+25-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:14:25-66
+26
+27                <category android:name="android.intent.category.LAUNCHER" />
+27-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:15:17-77
+27-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:15:27-74
+28            </intent-filter>
+29        </activity>
+30
+31        <service
+31-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:19:9-27:19
+32            android:name="com.example.navkakaonavigator.NaverNotificationListener"
+32-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:20:13-54
+33            android:exported="true"
+33-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:23:13-36
+34            android:label="텔레그램 알림 감시"
+34-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:21:13-39
+35            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
+35-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:22:13-87
+36            <intent-filter>
+36-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:24:13-26:29
+37                <action android:name="android.service.notification.NotificationListenerService" />
+37-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:25:17-99
+37-->C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:25:25-96
+38            </intent-filter>
+39        </service>
+40    </application>
+41
+42</manifest>
diff --git a/app/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/base.jar b/app/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/base.jar
new file mode 100644 (file)
index 0000000..a05b5c3
Binary files /dev/null and b/app/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/base.jar differ
diff --git a/app/build/intermediates/merged_manifest/debug/processDebugMainManifest/AndroidManifest.xml b/app/build/intermediates/merged_manifest/debug/processDebugMainManifest/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..c1c0787
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.navkakaonavigator"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="26"
+        android:targetSdkVersion="35" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+
+    <application
+        android:allowBackup="false"
+        android:debuggable="true"
+        android:extractNativeLibs="false"
+        android:label="텔레그램"
+        android:supportsRtl="true"
+        android:testOnly="true"
+        android:theme="@style/AppTheme" >
+        <activity
+            android:name="com.example.navkakaonavigator.MainActivity"
+            android:exported="true" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <service
+            android:name="com.example.navkakaonavigator.NaverNotificationListener"
+            android:exported="true"
+            android:label="텔레그램 알림 감시"
+            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
+            <intent-filter>
+                <action android:name="android.service.notification.NotificationListenerService" />
+            </intent-filter>
+        </service>
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/app/build/intermediates/merged_manifests/debug/processDebugManifest/AndroidManifest.xml b/app/build/intermediates/merged_manifests/debug/processDebugManifest/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..c1c0787
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.navkakaonavigator"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="26"
+        android:targetSdkVersion="35" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+
+    <application
+        android:allowBackup="false"
+        android:debuggable="true"
+        android:extractNativeLibs="false"
+        android:label="텔레그램"
+        android:supportsRtl="true"
+        android:testOnly="true"
+        android:theme="@style/AppTheme" >
+        <activity
+            android:name="com.example.navkakaonavigator.MainActivity"
+            android:exported="true" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <service
+            android:name="com.example.navkakaonavigator.NaverNotificationListener"
+            android:exported="true"
+            android:label="텔레그램 알림 감시"
+            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
+            <intent-filter>
+                <action android:name="android.service.notification.NotificationListenerService" />
+            </intent-filter>
+        </service>
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/app/build/intermediates/merged_manifests/debug/processDebugManifest/output-metadata.json b/app/build/intermediates/merged_manifests/debug/processDebugManifest/output-metadata.json
new file mode 100644 (file)
index 0000000..d13dc10
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "MERGED_MANIFESTS",
+    "kind": "Directory"
+  },
+  "applicationId": "com.example.navkakaonavigator",
+  "variantName": "debug",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "attributes": [],
+      "versionCode": 1,
+      "versionName": "1.0",
+      "outputFile": "AndroidManifest.xml"
+    }
+  ],
+  "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res/debug/mergeDebugResources/values_values.arsc.flat b/app/build/intermediates/merged_res/debug/mergeDebugResources/values_values.arsc.flat
new file mode 100644 (file)
index 0000000..d48681d
Binary files /dev/null and b/app/build/intermediates/merged_res/debug/mergeDebugResources/values_values.arsc.flat differ
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/mergeDebugResources.json b/app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/mergeDebugResources.json
new file mode 100644 (file)
index 0000000..26d1e6f
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "logs": [
+        {
+            "outputFile": "com.example.navkakaonavigator.app-debug-4:/values_values.arsc.flat",
+            "map": [
+                {
+                    "source": "C:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\src\\main\\res\\values\\styles.xml",
+                    "from": {
+                        "startLines": "1",
+                        "startColumns": "4",
+                        "startOffsets": "16",
+                        "endLines": "4",
+                        "endColumns": "12",
+                        "endOffsets": "216"
+                    },
+                    "to": {
+                        "startLines": "3",
+                        "startColumns": "4",
+                        "startOffsets": "107",
+                        "endLines": "6",
+                        "endColumns": "12",
+                        "endOffsets": "307"
+                    }
+                },
+                {
+                    "source": "C:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\src\\main\\res\\values\\strings.xml",
+                    "from": {
+                        "startLines": "1",
+                        "startColumns": "4",
+                        "startOffsets": "16",
+                        "endColumns": "51",
+                        "endOffsets": "63"
+                    },
+                    "to": {
+                        "startLines": "2",
+                        "startColumns": "4",
+                        "startOffsets": "55",
+                        "endColumns": "51",
+                        "endOffsets": "102"
+                    }
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/values.json b/app/build/intermediates/merged_res_blame_folder/debug/mergeDebugResources/out/multi-v2/values.json
new file mode 100644 (file)
index 0000000..f6f381b
--- /dev/null
@@ -0,0 +1,45 @@
+{
+    "logs": [
+        {
+            "outputFile": "com.example.navkakaonavigator.app-mergeDebugResources-2:/values/values.xml",
+            "map": [
+                {
+                    "source": "C:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\src\\main\\res\\values\\styles.xml",
+                    "from": {
+                        "startLines": "1",
+                        "startColumns": "4",
+                        "startOffsets": "16",
+                        "endLines": "4",
+                        "endColumns": "12",
+                        "endOffsets": "216"
+                    },
+                    "to": {
+                        "startLines": "3",
+                        "startColumns": "4",
+                        "startOffsets": "107",
+                        "endLines": "6",
+                        "endColumns": "12",
+                        "endOffsets": "307"
+                    }
+                },
+                {
+                    "source": "C:\\Users\\hmog_ara_PC\\AndroidStudioProjects\\NaverKakaoNavigator\\app\\src\\main\\res\\values\\strings.xml",
+                    "from": {
+                        "startLines": "1",
+                        "startColumns": "4",
+                        "startOffsets": "16",
+                        "endColumns": "51",
+                        "endOffsets": "63"
+                    },
+                    "to": {
+                        "startLines": "2",
+                        "startColumns": "4",
+                        "startOffsets": "55",
+                        "endColumns": "51",
+                        "endOffsets": "102"
+                    }
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/app/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json b/app/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json
new file mode 100644 (file)
index 0000000..0637a08
--- /dev/null
@@ -0,0 +1 @@
+[]
\ No newline at end of file
diff --git a/app/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt b/app/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt
new file mode 100644 (file)
index 0000000..08f4ebe
--- /dev/null
@@ -0,0 +1 @@
+0 Warning/Error
\ No newline at end of file
diff --git a/app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/AndroidManifest.xml b/app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..c1c0787
--- /dev/null
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.example.navkakaonavigator"
+    android:versionCode="1"
+    android:versionName="1.0" >
+
+    <uses-sdk
+        android:minSdkVersion="26"
+        android:targetSdkVersion="35" />
+
+    <uses-permission android:name="android.permission.INTERNET" />
+
+    <application
+        android:allowBackup="false"
+        android:debuggable="true"
+        android:extractNativeLibs="false"
+        android:label="텔레그램"
+        android:supportsRtl="true"
+        android:testOnly="true"
+        android:theme="@style/AppTheme" >
+        <activity
+            android:name="com.example.navkakaonavigator.MainActivity"
+            android:exported="true" >
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <service
+            android:name="com.example.navkakaonavigator.NaverNotificationListener"
+            android:exported="true"
+            android:label="텔레그램 알림 감시"
+            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
+            <intent-filter>
+                <action android:name="android.service.notification.NotificationListenerService" />
+            </intent-filter>
+        </service>
+    </application>
+
+</manifest>
\ No newline at end of file
diff --git a/app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/output-metadata.json b/app/build/intermediates/packaged_manifests/debug/processDebugManifestForPackage/output-metadata.json
new file mode 100644 (file)
index 0000000..51519f3
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "version": 3,
+  "artifactType": {
+    "type": "PACKAGED_MANIFESTS",
+    "kind": "Directory"
+  },
+  "applicationId": "com.example.navkakaonavigator",
+  "variantName": "debug",
+  "elements": [
+    {
+      "type": "SINGLE",
+      "filters": [],
+      "attributes": [],
+      "versionCode": 1,
+      "versionName": "1.0",
+      "outputFile": "AndroidManifest.xml"
+    }
+  ],
+  "elementType": "File"
+}
\ No newline at end of file
diff --git a/app/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml b/app/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml
new file mode 100644 (file)
index 0000000..6a625c4
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">네이버지도 알림 내비게이션</string>
+    <style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/MainActivity.dex b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/MainActivity.dex
new file mode 100644 (file)
index 0000000..c5f1434
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/MainActivity.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$Companion.dex b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$Companion.dex
new file mode 100644 (file)
index 0000000..984525f
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$Companion.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.dex b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.dex
new file mode 100644 (file)
index 0000000..a51cf33
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener.dex b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener.dex
new file mode 100644 (file)
index 0000000..0cd47fd
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/com/example/navkakaonavigator/NaverNotificationListener.dex differ
diff --git a/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/d3dd2962249c7e1d73c75d7edd5ca469cdb22c872a5bda202fd3fc32c1b3e456_4.jar b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/d3dd2962249c7e1d73c75d7edd5ca469cdb22c872a5bda202fd3fc32c1b3e456_4.jar
new file mode 100644 (file)
index 0000000..8a77d3b
Binary files /dev/null and b/app/build/intermediates/project_dex_archive/debug/dexBuilderDebug/out/d3dd2962249c7e1d73c75d7edd5ca469cdb22c872a5bda202fd3fc32c1b3e456_4.jar differ
diff --git a/app/build/intermediates/runtime_symbol_list/debug/processDebugResources/R.txt b/app/build/intermediates/runtime_symbol_list/debug/processDebugResources/R.txt
new file mode 100644 (file)
index 0000000..44861df
--- /dev/null
@@ -0,0 +1,2 @@
+int string app_name 0x7f010000
+int style AppTheme 0x7f020000
diff --git a/app/build/intermediates/signing_config_versions/debug/writeDebugSigningConfigVersions/signing-config-versions.json b/app/build/intermediates/signing_config_versions/debug/writeDebugSigningConfigVersions/signing-config-versions.json
new file mode 100644 (file)
index 0000000..51f6368
--- /dev/null
@@ -0,0 +1 @@
+{"enableV1Signing":false,"enableV2Signing":true,"enableV3Signing":false,"enableV4Signing":false}
\ No newline at end of file
diff --git a/app/build/intermediates/source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt b/app/build/intermediates/source_set_path_map/debug/mapDebugSourceSetPaths/file-map.txt
new file mode 100644 (file)
index 0000000..0e58f85
--- /dev/null
@@ -0,0 +1,7 @@
+com.example.navkakaonavigator.app-pngs-0 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\pngs\debug
+com.example.navkakaonavigator.app-resValues-1 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\generated\res\resValues\debug
+com.example.navkakaonavigator.app-packageDebugResources-2 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\intermediates\incremental\debug\packageDebugResources\merged.dir
+com.example.navkakaonavigator.app-packageDebugResources-3 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\intermediates\incremental\debug\packageDebugResources\stripped.dir
+com.example.navkakaonavigator.app-debug-4 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\build\intermediates\merged_res\debug\mergeDebugResources
+com.example.navkakaonavigator.app-debug-5 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\debug\res
+com.example.navkakaonavigator.app-main-6 C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\res
diff --git a/app/build/intermediates/stable_resource_ids_file/debug/processDebugResources/stableIds.txt b/app/build/intermediates/stable_resource_ids_file/debug/processDebugResources/stableIds.txt
new file mode 100644 (file)
index 0000000..88490ed
--- /dev/null
@@ -0,0 +1,2 @@
+com.example.navkakaonavigator:style/AppTheme = 0x7f020000
+com.example.navkakaonavigator:string/app_name = 0x7f010000
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
new file mode 100644 (file)
index 0000000..60faa7b
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream
new file mode 100644 (file)
index 0000000..23e5e09
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len
new file mode 100644 (file)
index 0000000..d585d71
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len
new file mode 100644 (file)
index 0000000..01bdaa1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at
new file mode 100644 (file)
index 0000000..c915b89
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i
new file mode 100644 (file)
index 0000000..1165536
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab
new file mode 100644 (file)
index 0000000..0ccec68
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream
new file mode 100644 (file)
index 0000000..9218a0f
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len
new file mode 100644 (file)
index 0000000..e9f9598
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len
new file mode 100644 (file)
index 0000000..ec8f944
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at
new file mode 100644 (file)
index 0000000..ff778c5
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i
new file mode 100644 (file)
index 0000000..7b51868
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab
new file mode 100644 (file)
index 0000000..78d3e5a
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream
new file mode 100644 (file)
index 0000000..9218a0f
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len
new file mode 100644 (file)
index 0000000..e9f9598
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len
new file mode 100644 (file)
index 0000000..ec8f944
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at
new file mode 100644 (file)
index 0000000..f95d7fc
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i
new file mode 100644 (file)
index 0000000..7b51868
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab
new file mode 100644 (file)
index 0000000..8b20ea7
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream
new file mode 100644 (file)
index 0000000..71ba7a8
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len
new file mode 100644 (file)
index 0000000..e9f9598
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len
new file mode 100644 (file)
index 0000000..ec8f944
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at
new file mode 100644 (file)
index 0000000..f95d7fc
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i
new file mode 100644 (file)
index 0000000..3c68cd4
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab
new file mode 100644 (file)
index 0000000..344c2fa
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream
new file mode 100644 (file)
index 0000000..311e997
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len
new file mode 100644 (file)
index 0000000..8522aec
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len
new file mode 100644 (file)
index 0000000..9e27f73
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at
new file mode 100644 (file)
index 0000000..3f48e8f
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i
new file mode 100644 (file)
index 0000000..c960b6c
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab
new file mode 100644 (file)
index 0000000..f65deb1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream
new file mode 100644 (file)
index 0000000..23e5e09
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len
new file mode 100644 (file)
index 0000000..d585d71
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len
new file mode 100644 (file)
index 0000000..01bdaa1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at
new file mode 100644 (file)
index 0000000..de4c768
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i
new file mode 100644 (file)
index 0000000..1165536
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab
new file mode 100644 (file)
index 0000000..b9cbc15
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream
new file mode 100644 (file)
index 0000000..8a2d422
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len
new file mode 100644 (file)
index 0000000..826d10c
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len
new file mode 100644 (file)
index 0000000..01bdaa1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at
new file mode 100644 (file)
index 0000000..1ef945b
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i
new file mode 100644 (file)
index 0000000..6ae5988
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab
new file mode 100644 (file)
index 0000000..2dd4ba7
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream
new file mode 100644 (file)
index 0000000..4e5795f
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len
new file mode 100644 (file)
index 0000000..abb4d9e
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len
new file mode 100644 (file)
index 0000000..01bdaa1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at
new file mode 100644 (file)
index 0000000..1578d7b
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i
new file mode 100644 (file)
index 0000000..18ee842
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab
new file mode 100644 (file)
index 0000000..3a4beb9
--- /dev/null
@@ -0,0 +1,2 @@
+14
+0
\ No newline at end of file
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab
new file mode 100644 (file)
index 0000000..799ac76
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream
new file mode 100644 (file)
index 0000000..23e5e09
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len
new file mode 100644 (file)
index 0000000..d585d71
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len
new file mode 100644 (file)
index 0000000..01bdaa1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at
new file mode 100644 (file)
index 0000000..add5894
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i
new file mode 100644 (file)
index 0000000..1165536
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab
new file mode 100644 (file)
index 0000000..ed88934
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream
new file mode 100644 (file)
index 0000000..bf06e37
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len
new file mode 100644 (file)
index 0000000..46715fa
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
new file mode 100644 (file)
index 0000000..003bc0e
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at
new file mode 100644 (file)
index 0000000..82fcf2f
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i
new file mode 100644 (file)
index 0000000..a131b89
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab
new file mode 100644 (file)
index 0000000..40cd789
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream
new file mode 100644 (file)
index 0000000..7a1ac4b
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len
new file mode 100644 (file)
index 0000000..5bdcb2c
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len
new file mode 100644 (file)
index 0000000..09eddc2
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values
new file mode 100644 (file)
index 0000000..002f653
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at
new file mode 100644 (file)
index 0000000..6316582
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.s
new file mode 100644 (file)
index 0000000..083dfbb
--- /dev/null
@@ -0,0 +1 @@
+çIûUÖJþ8
\ No newline at end of file
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i
new file mode 100644 (file)
index 0000000..76c6887
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len
new file mode 100644 (file)
index 0000000..131e265
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len differ
diff --git a/app/build/kotlin/compileDebugKotlin/cacheable/last-build.bin b/app/build/kotlin/compileDebugKotlin/cacheable/last-build.bin
new file mode 100644 (file)
index 0000000..08ff7b9
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/cacheable/last-build.bin differ
diff --git a/app/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin b/app/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin
new file mode 100644 (file)
index 0000000..0c184a1
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin differ
diff --git a/app/build/kotlin/compileDebugKotlin/local-state/build-history.bin b/app/build/kotlin/compileDebugKotlin/local-state/build-history.bin
new file mode 100644 (file)
index 0000000..83a4826
Binary files /dev/null and b/app/build/kotlin/compileDebugKotlin/local-state/build-history.bin differ
diff --git a/app/build/outputs/logs/manifest-merger-debug-report.txt b/app/build/outputs/logs/manifest-merger-debug-report.txt
new file mode 100644 (file)
index 0000000..6be9988
--- /dev/null
@@ -0,0 +1,71 @@
+-- Merging decision tree log ---
+manifest
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:1:1-29:12
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:1:1-29:12
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:1:1-29:12
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:1:1-29:12
+       package
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       android:versionName
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       android:versionCode
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       xmlns:android
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:1:11-69
+uses-permission#android.permission.INTERNET
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:2:5-67
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:2:22-64
+application
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:4:5-28:19
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:4:5-28:19
+       android:extractNativeLibs
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       android:supportsRtl
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:7:9-35
+       android:label
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:6:9-29
+       android:allowBackup
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:5:9-36
+       android:theme
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:8:9-40
+activity#com.example.navkakaonavigator.MainActivity
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:10:9-17:20
+       android:exported
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:12:13-36
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:11:13-41
+intent-filter#action:name:android.intent.action.MAIN+category:name:android.intent.category.LAUNCHER
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:13:13-16:29
+action#android.intent.action.MAIN
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:14:17-69
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:14:25-66
+category#android.intent.category.LAUNCHER
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:15:17-77
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:15:27-74
+service#com.example.navkakaonavigator.NaverNotificationListener
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:19:9-27:19
+       android:label
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:21:13-39
+       android:exported
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:23:13-36
+       android:permission
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:22:13-87
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:20:13-54
+intent-filter#action:name:android.service.notification.NotificationListenerService
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:24:13-26:29
+action#android.service.notification.NotificationListenerService
+ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:25:17-99
+       android:name
+               ADDED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml:25:25-96
+uses-sdk
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml reason: use-sdk injection requested
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       android:targetSdkVersion
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
+       android:minSdkVersion
+               INJECTED from C:\Users\hmog_ara_PC\AndroidStudioProjects\NaverKakaoNavigator\app\src\main\AndroidManifest.xml
diff --git a/app/build/tmp/kotlin-classes/debug/META-INF/app_debug.kotlin_module b/app/build/tmp/kotlin-classes/debug/META-INF/app_debug.kotlin_module
new file mode 100644 (file)
index 0000000..c998a4c
Binary files /dev/null and b/app/build/tmp/kotlin-classes/debug/META-INF/app_debug.kotlin_module differ
diff --git a/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/MainActivity.class b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/MainActivity.class
new file mode 100644 (file)
index 0000000..19ee53d
Binary files /dev/null and b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/MainActivity.class differ
diff --git a/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$Companion.class b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$Companion.class
new file mode 100644 (file)
index 0000000..c229e79
Binary files /dev/null and b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$Companion.class differ
diff --git a/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.class b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.class
new file mode 100644 (file)
index 0000000..e3e7ea1
Binary files /dev/null and b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener$PlaceDetail.class differ
diff --git a/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener.class b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener.class
new file mode 100644 (file)
index 0000000..7e2308c
Binary files /dev/null and b/app/build/tmp/kotlin-classes/debug/com/example/navkakaonavigator/NaverNotificationListener.class differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644 (file)
index 0000000..630f608
--- /dev/null
@@ -0,0 +1,29 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android">
+    <uses-permission android:name="android.permission.INTERNET" />
+
+    <application
+        android:allowBackup="false"
+        android:label="텔레그램"
+        android:supportsRtl="true"
+        android:theme="@style/AppTheme">
+
+        <activity
+            android:name=".MainActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity>
+
+        <service
+            android:name=".NaverNotificationListener"
+            android:label="텔레그램 알림 감시"
+            android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.service.notification.NotificationListenerService" />
+            </intent-filter>
+        </service>
+    </application>
+</manifest>
diff --git a/app/src/main/java/com/example/naverkakaonavigator/MainActivity.kt b/app/src/main/java/com/example/naverkakaonavigator/MainActivity.kt
new file mode 100644 (file)
index 0000000..6a9a172
--- /dev/null
@@ -0,0 +1,94 @@
+package com.example.navkakaonavigator
+
+import android.app.Activity
+import android.content.Intent
+import android.os.Bundle
+import android.provider.Settings
+import android.widget.Button
+import android.widget.LinearLayout
+import android.widget.TextView
+
+class MainActivity : Activity() {
+
+    override fun onCreate(
+        savedInstanceState: Bundle?
+    ) {
+        super.onCreate(savedInstanceState)
+
+        val layout =
+            LinearLayout(this).apply {
+
+                orientation =
+                    LinearLayout.VERTICAL
+
+                setPadding(
+                    40,
+                    40,
+                    40,
+                    40
+                )
+            }
+
+
+        val title =
+            TextView(this).apply {
+
+                text =
+                    "텔레그램 네이버지도 내비게이션"
+
+                textSize = 20f
+            }
+
+
+        layout.addView(title)
+
+
+        val info =
+            TextView(this).apply {
+
+                text =
+                    """
+                    
+텔레그램 알림을 감시합니다.
+
+[네이버지도]로 시작하는 알림이 들어오면
+
+장소명 / 주소 추출
+→ Kakao Local API
+→ 위도 / 경도 획득
+→ shortcutroute 전달
+→ 네이버지도 Shortcut 실행
+
+그 외 알림은 무시합니다.
+                    """.trimIndent()
+
+                textSize = 15f
+            }
+
+
+        layout.addView(info)
+
+
+        val setting =
+            Button(this).apply {
+
+                text =
+                    "알림 접근 권한 열기"
+
+                setOnClickListener {
+
+                    startActivity(
+                        Intent(
+                            Settings.ACTION_NOTIFICATION_LISTENER_SETTINGS
+                        )
+                    )
+                }
+            }
+
+
+        layout.addView(setting)
+
+
+        setContentView(layout)
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/naverkakaonavigator/NaverNotificationListener.kt b/app/src/main/java/com/example/naverkakaonavigator/NaverNotificationListener.kt
new file mode 100644 (file)
index 0000000..e656a8c
--- /dev/null
@@ -0,0 +1,472 @@
+package com.example.navkakaonavigator
+
+import android.app.Notification
+import android.content.Intent
+import android.net.Uri
+import android.os.Handler
+import android.os.Looper
+import android.service.notification.NotificationListenerService
+import android.service.notification.StatusBarNotification
+import android.util.Log
+import org.json.JSONObject
+import java.net.HttpURLConnection
+import java.net.URL
+import java.util.concurrent.Executors
+
+class NaverNotificationListener : NotificationListenerService() {
+
+    companion object {
+        private const val TAG = "NaverDetect"
+        private const val SHORTCUT_NAVER_PACKAGE = "com.example.shorcutnaver"
+        private const val REQUEST_NAVIGATION = "com.example.shorcutnaver.REQUEST_NAVIGATION"
+    }
+
+    private val executor = Executors.newSingleThreadExecutor()
+    private val mainHandler = Handler(Looper.getMainLooper())
+
+    // 같은 naver.me URL 중복 처리 방지
+    private val recent = LinkedHashMap<String, Long>()
+    private val recentLock = Any()
+    private val duplicateWindowMs = 15_000L
+
+    override fun onNotificationPosted(sbn: StatusBarNotification) {
+        Log.d(TAG, "onNotificationPosted() 호출됨")
+        Log.d(TAG, "package = ${sbn.packageName}")
+
+        // Telegram 공식 앱만 처리
+        if (sbn.packageName != "org.telegram.messenger") return
+
+        try {
+            val extras = sbn.notification.extras ?: return
+            val title = extras.getCharSequence(Notification.EXTRA_TITLE)?.toString()?.trim().orEmpty()
+            val text = extras.getCharSequence(Notification.EXTRA_TEXT)?.toString()?.trim()
+                ?: extras.getCharSequence(Notification.EXTRA_BIG_TEXT)?.toString()?.trim() ?: return
+
+            Log.d(TAG, "title = $title")
+            Log.d(TAG, "text = $text")
+
+            val full = buildFullText(extras, title, text)
+            Log.d(TAG, "full = $full")
+
+            // [네이버지도]로 시작하는 알림만 처리
+            if (!full.trim().startsWith("[네이버지도]")) return
+
+            Log.d(TAG, "네이버지도 알림 감지!")
+
+            // 실제 naver.me URL 추출
+            val shortUrl = extractNaverShortUrl(full)
+
+            if (shortUrl == null) {
+                Log.d(TAG, "naver.me URL 없음")
+                return
+            }
+
+            Log.d(TAG, "naver.me URL = $shortUrl")
+
+            // 같은 URL만 중복으로 처리하지 않음
+            val now = System.currentTimeMillis()
+
+            synchronized(recentLock) {
+                val old = recent[shortUrl]
+
+                if (old != null && now - old < duplicateWindowMs) {
+                    Log.d(TAG, "중복 URL → 무시: $shortUrl")
+                    return
+                }
+
+                recent[shortUrl] = now
+
+                val it = recent.entries.iterator()
+                while (it.hasNext()) {
+                    if (now - it.next().value > 60_000L) it.remove()
+                }
+            }
+
+            // 네이버 URL 처리
+            executor.execute {
+                processNaverUrl(notificationKey = sbn.key, shortUrl = shortUrl)
+            }
+
+        } catch (e: Exception) {
+            Log.e(TAG, "알림 처리 중 예외", e)
+        }
+    }
+
+    // Telegram Notification 전체 텍스트 구성
+    private fun buildFullText(extras: android.os.Bundle, title: String, text: String): String {
+        val big = extras.getCharSequence(Notification.EXTRA_BIG_TEXT)?.toString()
+        if (!big.isNullOrBlank()) return big.trim()
+
+        val lines = mutableListOf<String>()
+        lines += text
+        extras.getCharSequenceArray(Notification.EXTRA_TEXT_LINES)?.forEach { lines += it.toString() }
+        return lines.joinToString("\n")
+    }
+
+    // naver.me 짧은 URL 추출
+    private fun extractNaverShortUrl(full: String): String? {
+        val regex = Regex("""https?://naver\.me/[A-Za-z0-9]+""")
+        return regex.find(full)?.value
+    }
+
+    // naver.me → 실제 map.naver.com URL
+    private fun resolveNaverUrl(shortUrl: String): String? {
+        return try {
+            Log.d(TAG, "naver.me URL 접속 시작")
+
+            val connection = URL(shortUrl).openConnection() as HttpURLConnection
+            connection.instanceFollowRedirects = false
+            connection.requestMethod = "GET"
+            connection.connectTimeout = 5000
+            connection.readTimeout = 5000
+            connection.setRequestProperty("User-Agent", "Mozilla/5.0")
+
+            val code = connection.responseCode
+            Log.d(TAG, "naver.me HTTP = $code")
+
+            val location = connection.getHeaderField("Location")
+            connection.disconnect()
+
+            if (location.isNullOrBlank()) {
+                Log.d(TAG, "Redirect Location 없음")
+                return null
+            }
+
+            Log.d(TAG, "Redirect URL = $location")
+            location
+
+        } catch (e: Exception) {
+            Log.e(TAG, "naver.me URL 처리 실패", e)
+            null
+        }
+    }
+
+    // 실제 네이버 지도 URL 분석
+    private fun processNaverUrl(notificationKey: String, shortUrl: String) {
+        Log.d(TAG, "================================")
+        Log.d(TAG, "네이버 URL 처리 시작")
+
+        val finalUrl = resolveNaverUrl(shortUrl)
+
+        if (finalUrl == null) {
+            Log.d(TAG, "실제 네이버 URL 획득 실패")
+            return
+        }
+
+        Log.d(TAG, "최종 URL = $finalUrl")
+
+        // 네이버 길찾기 URL
+        if (finalUrl.contains("appMenu=route")) {
+            Log.d(TAG, "네이버 길찾기 URL 감지")
+
+            try {
+                val uri = Uri.parse(finalUrl)
+
+                val destinationName = uri.getQueryParameter("eText")
+                val destinationLatitude = uri.getQueryParameter("elat")
+                val destinationLongitude = uri.getQueryParameter("elng")
+
+                if (destinationName.isNullOrBlank() || destinationLatitude.isNullOrBlank() || destinationLongitude.isNullOrBlank()) {
+                    Log.d(TAG, "목적지 정보 부족")
+                    return
+                }
+
+                val destination = PlaceDetail(destinationName, "", destinationLatitude, destinationLongitude)
+
+                Log.d(TAG, "최종 목적지")
+                Log.d(TAG, "name = ${destination.name}")
+                Log.d(TAG, "latitude = ${destination.latitude}")
+                Log.d(TAG, "longitude = ${destination.longitude}")
+
+                val waypoints = mutableListOf<PlaceDetail>()
+
+                for (index in 1..10) {
+                    val name = uri.getQueryParameter("t${index}Text")
+                    val latitude = uri.getQueryParameter("t${index}lat")
+                    val longitude = uri.getQueryParameter("t${index}lng")
+
+                    if (name.isNullOrBlank() || latitude.isNullOrBlank() || longitude.isNullOrBlank()) break
+
+                    val waypoint = PlaceDetail(name, "", latitude, longitude)
+                    waypoints.add(waypoint)
+
+                    Log.d(TAG, "경유지 $index")
+                    Log.d(TAG, "name = ${waypoint.name}")
+                    Log.d(TAG, "latitude = ${waypoint.latitude}")
+                    Log.d(TAG, "longitude = ${waypoint.longitude}")
+                }
+
+                Log.d(TAG, "경유지 총 ${waypoints.size}개")
+                sendNavigation(notificationKey, destination, waypoints)
+                return
+
+            } catch (e: Exception) {
+                Log.e(TAG, "네이버 길찾기 URL 파싱 실패", e)
+                return
+            }
+        }
+
+        val uri = Uri.parse(finalUrl)
+
+        // pinId가 query에 있는 일반 장소 URL
+        val pinId = uri.getQueryParameter("pinId")
+
+        if (!pinId.isNullOrBlank()) {
+            Log.d(TAG, "단일 장소 pinId = $pinId")
+
+            val destination = getPlaceDetail(pinId)
+
+            if (destination == null) {
+                Log.d(TAG, "단일 장소 정보 획득 실패")
+                return
+            }
+
+            Log.d(TAG, "단일 목적지 = ${destination.name}")
+            Log.d(TAG, "주소 = ${destination.address}")
+            Log.d(TAG, "좌표 = ${destination.latitude}, ${destination.longitude}")
+
+            sendNavigation(notificationKey, destination, emptyList())
+            return
+        }
+
+        // /p/entry/place/{placeId} 형식
+        val placeId = Regex("""/p/entry/place/(\d+)""").find(uri.path.orEmpty())?.groupValues?.getOrNull(1)
+
+        if (!placeId.isNullOrBlank()) {
+            Log.d(TAG, "entry place ID = $placeId")
+
+            val destination = getPlaceDetail(placeId)
+
+            if (destination == null) {
+                Log.d(TAG, "entry 장소 정보 획득 실패")
+                return
+            }
+
+            Log.d(TAG, "단일 목적지 = ${destination.name}")
+            Log.d(TAG, "주소 = ${destination.address}")
+            Log.d(TAG, "좌표 = ${destination.latitude}, ${destination.longitude}")
+
+            sendNavigation(notificationKey, destination, emptyList())
+            return
+        }
+
+        // place ID 없이 lat/lng가 직접 포함된 location URL
+        val latitude = uri.getQueryParameter("lat")
+        val longitude = uri.getQueryParameter("lng")
+        val name = uri.getQueryParameter("title") ?: uri.getQueryParameter("query") ?: uri.getQueryParameter("address")
+        val address = uri.getQueryParameter("address").orEmpty()
+
+        if (!latitude.isNullOrBlank() && !longitude.isNullOrBlank() && !name.isNullOrBlank()) {
+            Log.d(TAG, "좌표형 location URL 감지")
+            Log.d(TAG, "name = $name")
+            Log.d(TAG, "address = $address")
+            Log.d(TAG, "좌표 = $latitude, $longitude")
+
+            val destination = PlaceDetail(name, address, latitude, longitude)
+            sendNavigation(notificationKey, destination, emptyList())
+            return
+        }
+
+        Log.d(TAG, "지원하지 않는 네이버 URL")
+    }
+
+    // directions URL 분석
+    private fun processDirectionsUrl(notificationKey: String, finalUrl: String) {
+        try {
+            val directionsPart = finalUrl.substringAfter("/p/directions/").substringBefore("?", "")
+            val segments = directionsPart.split("/").filter { it.isNotBlank() }
+
+            Log.d(TAG, "directions segment 수 = ${segments.size}")
+
+            if (segments.size < 2) {
+                Log.d(TAG, "출발지/목적지 정보 부족")
+                return
+            }
+
+            // 0 = 출발지, 1 = 목적지, 2부터 경유지
+            val destinationSegment = segments[1]
+            val waypointSegments = if (segments.size > 2) segments.subList(2, segments.size) else emptyList()
+
+            val destinationPlaceId = extractPlaceId(destinationSegment)
+
+            if (destinationPlaceId == null) {
+                Log.d(TAG, "목적지 place ID 추출 실패")
+                return
+            }
+
+            Log.d(TAG, "목적지 placeId = $destinationPlaceId")
+
+            val destination = getPlaceDetail(destinationPlaceId)
+
+            if (destination == null) {
+                Log.d(TAG, "목적지 정보 조회 실패")
+                return
+            }
+
+            Log.d(TAG, "최종 목적지")
+            Log.d(TAG, "name = ${destination.name}")
+            Log.d(TAG, "address = ${destination.address}")
+            Log.d(TAG, "latitude = ${destination.latitude}")
+            Log.d(TAG, "longitude = ${destination.longitude}")
+
+            val waypoints = mutableListOf<PlaceDetail>()
+
+            for (i in waypointSegments.indices) {
+                val segment = waypointSegments[i]
+                val placeId = extractPlaceId(segment)
+
+                if (placeId == null) {
+                    Log.d(TAG, "경유지 ${i + 1} place ID 추출 실패")
+                    continue
+                }
+
+                Log.d(TAG, "경유지 ${i + 1} placeId = $placeId")
+
+                val place = getPlaceDetail(placeId)
+
+                if (place == null) {
+                    Log.d(TAG, "경유지 ${i + 1} 정보 조회 실패")
+                    continue
+                }
+
+                Log.d(TAG, "경유지 ${i + 1}")
+                Log.d(TAG, "name = ${place.name}")
+                Log.d(TAG, "address = ${place.address}")
+                Log.d(TAG, "latitude = ${place.latitude}")
+                Log.d(TAG, "longitude = ${place.longitude}")
+
+                waypoints += place
+            }
+
+            Log.d(TAG, "경유지 총 ${waypoints.size}개")
+            sendNavigation(notificationKey = notificationKey, destination = destination, waypoints = waypoints)
+
+        } catch (e: Exception) {
+            Log.e(TAG, "directions URL 처리 실패", e)
+        }
+    }
+
+    // directions segment에서 place ID 추출
+    private fun extractPlaceId(segment: String): String? {
+        val parts = segment.split(",")
+        if (parts.size < 4) return null
+
+        val placeId = parts[3]
+        if (!placeId.matches(Regex("\\d+"))) return null
+
+        return placeId
+    }
+
+    // 네이버 directionsPOI API
+    private fun getPlaceDetail(placeId: String): PlaceDetail? {
+        return try {
+            Log.d(TAG, "directionsPOI 조회: $placeId")
+
+            val url = URL("https://map.naver.com/p/api/place/directionsPOI/$placeId")
+            val connection = url.openConnection() as HttpURLConnection
+
+            connection.requestMethod = "GET"
+            connection.connectTimeout = 5000
+            connection.readTimeout = 5000
+            connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Linux; Android 14)")
+            connection.setRequestProperty("Accept", "application/json, text/plain, */*")
+            connection.setRequestProperty("Referer", "https://map.naver.com/")
+
+            val code = connection.responseCode
+            Log.d(TAG, "directionsPOI HTTP = $code")
+
+            if (code !in 200..299) {
+                connection.disconnect()
+                return null
+            }
+
+            val bytes = connection.inputStream.use { it.readBytes() }
+            connection.disconnect()
+
+            val body = String(bytes, Charsets.UTF_8)
+            Log.d(TAG, "directionsPOI 응답 = $body")
+
+            val json = JSONObject(body)
+            val placeDetail = json.optJSONObject("data")?.optJSONObject("placeDetail") ?: return null
+
+            val name = placeDetail.optString("name")
+            val addressObject = placeDetail.optJSONObject("address")
+
+            val roadAddress = addressObject?.optString("roadAddress").orEmpty()
+            val address = if (roadAddress.isNotBlank()) roadAddress else addressObject?.optString("address").orEmpty()
+
+            val coordinate = placeDetail.optJSONObject("coordinate") ?: return null
+
+            val latitude = coordinate.optDouble("latitude", Double.NaN)
+            val longitude = coordinate.optDouble("longitude", Double.NaN)
+
+            if (name.isBlank() || latitude.isNaN() || longitude.isNaN()) return null
+
+            PlaceDetail(name, address, latitude.toString(), longitude.toString())
+
+        } catch (e: Exception) {
+            Log.e(TAG, "directionsPOI 조회 실패: $placeId", e)
+            null
+        }
+    }
+
+    private data class PlaceDetail(val name: String, val address: String, val latitude: String, val longitude: String)
+
+    // shorcutnaver로 전달
+    private fun sendNavigation(notificationKey: String, destination: PlaceDetail, waypoints: List<PlaceDetail>) {
+        mainHandler.post {
+            try {
+                val intent = Intent(REQUEST_NAVIGATION).apply {
+                    setPackage(SHORTCUT_NAVER_PACKAGE)
+
+                    putExtra("name", destination.name)
+                    putExtra("latitude", destination.latitude)
+                    putExtra("longitude", destination.longitude)
+
+                    putExtra("waypoint_count", waypoints.size)
+
+                    waypoints.forEachIndexed { index, waypoint ->
+                        val number = index + 1
+                        putExtra("waypoint_${number}_name", waypoint.name)
+                        putExtra("waypoint_${number}_latitude", waypoint.latitude)
+                        putExtra("waypoint_${number}_longitude", waypoint.longitude)
+                    }
+                }
+
+                Log.d(TAG, "================================")
+                Log.d(TAG, "shorcutnaver로 전달")
+                Log.d(TAG, "목적지 = ${destination.name}")
+                Log.d(TAG, "목적지 주소 = ${destination.address}")
+                Log.d(TAG, "목적지 좌표 = ${destination.latitude}, ${destination.longitude}")
+                Log.d(TAG, "경유지 수 = ${waypoints.size}")
+
+                waypoints.forEachIndexed { index, waypoint ->
+                    Log.d(TAG, "경유지 ${index + 1} = ${waypoint.name}")
+                    Log.d(TAG, "경유지 ${index + 1} 주소 = ${waypoint.address}")
+                    Log.d(TAG, "경유지 ${index + 1} 좌표 = ${waypoint.latitude}, ${waypoint.longitude}")
+                }
+
+                sendBroadcast(intent)
+                Log.d(TAG, "shorcutnaver 전달 완료")
+
+                // 원본 Telegram 알림 삭제
+                try {
+                    cancelNotification(notificationKey)
+                    Log.d(TAG, "원본 Telegram 알림 삭제")
+                } catch (e: Exception) {
+                    Log.e(TAG, "원본 알림 삭제 실패", e)
+                }
+
+                Log.d(TAG, "================================")
+
+            } catch (e: Exception) {
+                Log.e(TAG, "shorcutnaver 전달 실패", e)
+            }
+        }
+    }
+
+    override fun onDestroy() {
+        executor.shutdownNow()
+        super.onDestroy()
+    }
+}
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644 (file)
index 0000000..9a4df1e
--- /dev/null
@@ -0,0 +1,3 @@
+<resources>
+    <string name="app_name">네이버지도 알림 내비게이션</string>
+</resources>
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
new file mode 100644 (file)
index 0000000..a4f8d6d
--- /dev/null
@@ -0,0 +1,6 @@
+<resources>
+    <style name="AppTheme" parent="android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:fontFamily">sans</item>
+        <item name="android:colorAccent">#555555</item>
+    </style>
+</resources>
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644 (file)
index 0000000..c7ad754
--- /dev/null
@@ -0,0 +1,4 @@
+plugins {
+    id("com.android.application") version "8.7.3" apply false
+    id("org.jetbrains.kotlin.android") version "2.0.21" apply false
+}
diff --git a/build/reports/problems/problems-report.html b/build/reports/problems/problems-report.html
new file mode 100644 (file)
index 0000000..58d7aa7
--- /dev/null
@@ -0,0 +1,659 @@
+<!DOCTYPE html>
+
+<html lang="en">
+<head>
+    <!-- Required meta tags -->
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+
+                    <style type="text/css">
+                /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
+html {
+    line-height: 1.15;
+    -ms-text-size-adjust: 100%;
+    -webkit-text-size-adjust: 100%
+}
+
+body {
+    margin: 0
+}
+
+article, aside, footer, header, nav, section {
+    display: block
+}
+
+h1 {
+    font-size: 2em;
+    margin: .67em 0
+}
+
+figcaption, figure, main {
+    display: block
+}
+
+figure {
+    margin: 1em 40px
+}
+
+hr {
+    box-sizing: content-box;
+    height: 0;
+    overflow: visible
+}
+
+pre {
+    font-family: monospace, monospace;
+    font-size: 1em
+}
+
+a {
+    background-color: transparent;
+    -webkit-text-decoration-skip: objects
+}
+
+abbr[title] {
+    border-bottom: none;
+    text-decoration: underline;
+    text-decoration: underline dotted
+}
+
+b, strong {
+    font-weight: inherit
+}
+
+b, strong {
+    font-weight: bolder
+}
+
+code, kbd, samp {
+    font-family: monospace, monospace;
+    font-size: 1em
+}
+
+dfn {
+    font-style: italic
+}
+
+mark {
+    background-color: #ff0;
+    color: #000
+}
+
+small {
+    font-size: 80%
+}
+
+sub, sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline
+}
+
+sub {
+    bottom: -.25em
+}
+
+sup {
+    top: -.5em
+}
+
+audio, video {
+    display: inline-block
+}
+
+audio:not([controls]) {
+    display: none;
+    height: 0
+}
+
+img {
+    border-style: none
+}
+
+svg:not(:root) {
+    overflow: hidden
+}
+
+button, input, optgroup, select, textarea {
+    font-family: sans-serif;
+    font-size: 100%;
+    line-height: 1.15;
+    margin: 0
+}
+
+button, input {
+    overflow: visible
+}
+
+button, select {
+    text-transform: none
+}
+
+[type=reset], [type=submit], button, html [type=button] {
+    -webkit-appearance: button
+}
+
+[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
+    border-style: none;
+    padding: 0
+}
+
+[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
+    outline: 1px dotted ButtonText
+}
+
+fieldset {
+    padding: .35em .75em .625em
+}
+
+legend {
+    box-sizing: border-box;
+    color: inherit;
+    display: table;
+    max-width: 100%;
+    padding: 0;
+    white-space: normal
+}
+
+progress {
+    display: inline-block;
+    vertical-align: baseline
+}
+
+textarea {
+    overflow: auto
+}
+
+[type=checkbox], [type=radio] {
+    box-sizing: border-box;
+    padding: 0
+}
+
+[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
+    height: auto
+}
+
+[type=search] {
+    -webkit-appearance: textfield;
+    outline-offset: -2px
+}
+
+[type=search]::-webkit-search-cancel-button, [type=search]::-webkit-search-decoration {
+    -webkit-appearance: none
+}
+
+::-webkit-file-upload-button {
+    -webkit-appearance: button;
+    font: inherit
+}
+
+details, menu {
+    display: block
+}
+
+summary {
+    display: list-item
+}
+
+canvas {
+    display: inline-block
+}
+
+template {
+    display: none
+}
+
+[hidden] {
+    display: none
+}
+
+/* configuration cache styles */
+
+.report-wrapper {
+    margin: 0;
+    padding: 0 24px;
+}
+
+.gradle-logo {
+    width: 32px;
+    height: 24px;
+    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAGAAAAAA915G0AAAD5klEQVRIDbVWC0xTZxT+emmhVUEeA1/ROh/tFAFFGK7oJisIKsNVoOwBbJPowEWHzikRxeiMRpwwjDWRBHQLIzOmiRhe22BT40TitiyaMBQFfMEeLMIEaSmk+/+rvd7be4no6Elu7n++c/5zzv845/wyOyG4iGyDgzCdNOPLM9W41n4bnmNUiHo5DNsz0hGsmcV6lbkyAOOWXJjrz4qWp1C4o3z/LqzWL4VcJB1FIHmZHn/f78a6pDcxbeIEfNvQiPwTZbDZBpC24zOEaGfDpTsgtZby6u+QlrubFWUY3nh6AH39/ahr/Bn1jZfxW3ML2js60dtvgbtcQVblj8CZM7A0PBSrol6Ft+c4KZ8iTB1nwN0//8IEP9/hA2i924Gir0/iq8oa/NvbJzLiDKiUSqTE6pGVbEBY4BxnsYAPSnwXTa3tLCZ5BF3dPdAkGNHzoFcwcaRMnC4CeZkZiAgKFE252nITC1Pew9Dj5GNEGgS4Rbb5eZ1Te7UXG6FLX4cV6zeh5kIDaDpSunL9Boyf5nLOpwT4Sx+BxWrFK8QAnTAapPRQwofcj86uLoG59cbVEOzA0NAQNh38Atn5RSjY8rFAmc/I3dyQvOx1PsSNVy7Roa3ajHDePbBYLSLn1MaGd5KFAXy07xAOl59C6elK+I73hIHcbGd6wXs8qkyH8FZcjLOI5X/9/TrOnLsAldJDUu4As1NToFFPe3IEpm/M2HigwCFnU6t4Zw6Ck1JhGRhgcXq5juXloKyqFnlHirmz5CaNcEAv59kSE9wVikcB3O78A/MSU0Fznk/H9+yAetJEnPr+B8RFLsLcGS8ia28+qQuX+WrPNNZOV+Nc6VH4+3iz89g0pEaLzRUiQ3LGDWsM8Qidq2WL0PGKKlgf74ZIeQTAfFJ6a44WIsDXh9OW/dPdY58aawC9KK6kpOgolO7JxViVSuBGXnvxksudZ5F0O5yzGYxMJnBOGaau4fnPU2RNAtCFBKFoa7akczaAptY2iWmjB33+yQa4kZwfjpi2ex3Dyf43vuAljWQ/4Btmei1WPj+q45hF4U+1J4fEizCEvNf0EWHoIW244sfzoN1RipaT2kDfdjfv3MNpojdISjmfIheE8Fnp8WR9vJ2Zr+O+bYUmO+kJ9KnIUtf9bnvY2x9wcqrrvnCJvfL8Tw4V9v9LU7PdKzJaoNdy645AR4ph1JMncZHRKrVvYyYY5kmP8iO1v2T3dk6HDtYmrgJtOnwKnaPFrg8z+BBX7QSgEyOPJfX9Qd9DFs40GgTOHbrBs2ch4bXFuEG2mmFkeD9hpUMk+NMXEe0TNtsg/Ly94DVurEAuxfwHC1WiVbe0U7MAAAAASUVORK5CYII=");
+    background-size: contain;
+}
+
+.header {
+    display: flex;
+    flex-wrap: wrap;
+    top: 0;
+    left: 0;
+    width: 100%;
+    padding-top: 24px;
+    background-color: white;
+}
+
+.learn-more {
+    margin-left: auto;
+    align-self: center;
+    font-size: 0.875rem;
+    font-weight: normal;
+}
+
+.title {
+    display: flex;
+    align-items: center;
+    padding: 18px 0 24px 0;
+    flex: 1 0 100%;
+}
+
+.content {
+    font-size: 0.875rem;
+    white-space: nowrap;
+}
+
+.content ol:first-of-type {
+    margin: 0;
+}
+
+.tree-btn {
+    cursor: pointer;
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-top: -0.2em;
+}
+
+.tree-btn.collapsed {
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><path d="M166.9 264.5l-117.8 116c-4.7 4.7-12.3 4.7-17 0l-7.1-7.1c-4.7-4.7-4.7-12.3 0-17L127.3 256 25.1 155.6c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0l117.8 116c4.6 4.7 4.6 12.3-.1 17z" fill="%23999999" stroke="%23999999"/></svg>');
+}
+
+.tree-btn.expanded {
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path d="M119.5 326.9L3.5 209.1c-4.7-4.7-4.7-12.3 0-17l7.1-7.1c4.7-4.7 12.3-4.7 17 0L128 287.3l100.4-102.2c4.7-4.7 12.3-4.7 17 0l7.1 7.1c4.7 4.7 4.7 12.3 0 17L136.5 327c-4.7 4.6-12.3 4.6-17-.1z" fill="%23999999" stroke="%23999999"/></svg>');
+}
+
+ul .tree-btn {
+    margin-right: 3px;
+}
+
+.leaf-icon {
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path d="M32 256 H224" stroke="%23999999" stroke-width="48" stroke-linecap="round"/></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-top: -0.2em;
+}
+
+.invisible-text {
+    user-select: all; /* Allow the text to be selectable */
+    color: transparent; /* Hide the text */
+    text-indent: -9999px; /* Move the text out of view */
+    position: relative;
+    white-space: pre; /* Preserve meaningful whitespace in the invisible text for copying */
+}
+
+.text-for-copy {
+    display: inline-block;
+}
+
+.enum-icon {
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><circle cx="512" cy="512" r="200" /></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.5ex;
+    margin-inline-end: 0.5ex;
+    margin-top: -0.2em;
+}
+
+.error-icon {
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M193.94 256L296.5 153.44l21.15-21.15c3.12-3.12 3.12-8.19 0-11.31l-22.63-22.63c-3.12-3.12-8.19-3.12-11.31 0L160 222.06 36.29 98.34c-3.12-3.12-8.19-3.12-11.31 0L2.34 120.97c-3.12 3.12-3.12 8.19 0 11.31L126.06 256 2.34 379.71c-3.12 3.12-3.12 8.19 0 11.31l22.63 22.63c3.12 3.12 8.19 3.12 11.31 0L160 289.94 262.56 392.5l21.15 21.15c3.12 3.12 8.19 3.12 11.31 0l22.63-22.63c3.12-3.12 3.12-8.19 0-11.31L193.94 256z" fill="%23FC461E" stroke="%23FC461E"/></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.5ex;
+    margin-inline-end: 0.5ex;
+    margin-top: -0.2em;
+}
+
+.advice-icon {
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    background-image: url('data:image/svg+xml;utf8,<svg width="800px" height="800px" viewBox="-4.93 0 122.88 122.88" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"  style="enable-background:new 0 0 113.01 122.88" xml:space="preserve"><g><path d="M44.13,102.06c-1.14,0.03-2.14-0.81-2.3-1.96c-0.17-1.2,0.64-2.31,1.82-2.54c-1.3-7.37-4.85-11.43-8.6-15.72 c-2.92-3.34-5.95-6.81-8.34-11.92c-2.35-5.03-3.64-10.23-3.6-15.63c0.05-5.4,1.42-10.96,4.4-16.71c0.02-0.04,0.04-0.07,0.06-0.11 l0,0c3.91-6.62,9.38-11.04,15.47-13.52c5.11-2.09,10.66-2.8,16.1-2.3c5.42,0.5,10.73,2.2,15.37,4.94 c5.9,3.49,10.75,8.67,13.42,15.21c1.44,3.54,2.42,7.49,2.54,11.82c0.12,4.31-0.62,8.96-2.61,13.88 c-2.66,6.59-6.18,10.68-9.47,14.51c-3.03,3.53-5.85,6.81-7.42,11.84c0.89,0.21,1.59,0.94,1.73,1.9c0.17,1.24-0.7,2.39-1.94,2.56 l-0.77,0.11c-0.14,1.09-0.23,2.26-0.27,3.51l0.25-0.04c1.24-0.17,2.39,0.7,2.56,1.94c0.17,1.24-0.7,2.39-1.94,2.56l-0.78,0.11 c0.01,0.15,0.02,0.3,0.03,0.45l0,0c0.07,0.88,0.08,1.73,0.03,2.54l0.13-0.02c1.25-0.15,2.38,0.74,2.54,1.98 c0.15,1.25-0.74,2.38-1.98,2.54l-1.68,0.21c-1.2,3.11-3.34,5.48-5.87,6.94c-1.74,1.01-3.67,1.59-5.61,1.71 c-1.97,0.12-3.96-0.25-5.78-1.13c-2.08-1.02-3.94-2.71-5.29-5.14c-0.65-0.33-1.13-0.97-1.23-1.75c-0.04-0.31-0.01-0.61,0.07-0.89 c-0.39-1.16-0.68-2.43-0.87-3.83l-0.07,0.01c-1.24,0.17-2.39-0.7-2.56-1.94c-0.17-1.24,0.7-2.39,1.94-2.56l0.54-0.08 C44.19,104.32,44.18,103.16,44.13,102.06L44.13,102.06z M2.18,58.86C1.01,58.89,0.04,57.98,0,56.81c-0.04-1.17,0.88-2.14,2.05-2.18 l8.7-0.3c1.17-0.04,2.14,0.88,2.18,2.05c0.04,1.17-0.88,2.14-2.05,2.18L2.18,58.86L2.18,58.86z M110.68,50.25 c1.16-0.12,2.2,0.73,2.32,1.89c0.12,1.16-0.73,2.2-1.89,2.32l-8.66,0.91c-1.16,0.12-2.2-0.73-2.32-1.89 c-0.12-1.16,0.73-2.2,1.89-2.32L110.68,50.25L110.68,50.25z M94.91,14.78c0.65-0.97,1.96-1.23,2.93-0.58 c0.97,0.65,1.23,1.96,0.58,2.93l-4.84,7.24c-0.65,0.97-1.96,1.23-2.93,0.58c-0.97-0.65-1.23-1.96-0.58-2.93L94.91,14.78 L94.91,14.78z M57.63,2.06c0.03-1.17,1-2.09,2.16-2.06c1.17,0.03,2.09,1,2.06,2.16l-0.22,8.7c-0.03,1.17-1,2.09-2.16,2.06 c-1.17-0.03-2.09-1-2.06-2.16L57.63,2.06L57.63,2.06z M13.88,15.53c-0.86-0.8-0.9-2.14-0.11-2.99c0.8-0.86,2.14-0.9,2.99-0.11 l6.37,5.94c0.86,0.8,0.9,2.14,0.11,2.99c-0.8,0.86-2.14,0.9-2.99,0.11L13.88,15.53L13.88,15.53z M47.88,96.95l18.49-2.63 c1.59-6.7,5.05-10.73,8.8-15.08c3.08-3.58,6.36-7.4,8.76-13.34c1.76-4.35,2.41-8.43,2.31-12.19c-0.1-3.75-0.96-7.21-2.24-10.34 c-2.3-5.63-6.51-10.11-11.65-13.15c-4.11-2.43-8.8-3.94-13.59-4.37c-4.77-0.44-9.64,0.19-14.13,2.02 c-5.26,2.15-9.99,5.97-13.39,11.72c-2.64,5.12-3.86,10.02-3.9,14.73c-0.04,4.74,1.11,9.33,3.2,13.8c2.13,4.56,4.97,7.8,7.69,10.92 C42.47,83.9,46.48,88.49,47.88,96.95L47.88,96.95z M65.62,99.02l-17.27,2.45c0.05,1.1,0.07,2.25,0.05,3.47l17.05-2.42 C65.47,101.29,65.52,100.12,65.62,99.02L65.62,99.02z M48.49,109.52c0.12,0.92,0.3,1.76,0.53,2.54l16.55-2.04 c0.11-0.86,0.13-1.77,0.05-2.74l0,0l0-0.02l-0.01-0.17L48.49,109.52L48.49,109.52z M51.37,116.36c0.64,0.67,1.35,1.19,2.1,1.55 c1.15,0.56,2.42,0.79,3.67,0.72c1.29-0.08,2.57-0.47,3.74-1.15c1.1-0.64,2.09-1.53,2.88-2.65L51.37,116.36L51.37,116.36z"/></g></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.5ex;
+    margin-inline-end: 0.5ex;
+    margin-top: -0.2em;
+}
+
+.warning-icon {
+    display: inline-block;
+    width: 13px;
+    height: 13px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M270.2 160h35.5c3.4 0 6.1 2.8 6 6.2l-7.5 196c-.1 3.2-2.8 5.8-6 5.8h-20.5c-3.2 0-5.9-2.5-6-5.8l-7.5-196c-.1-3.4 2.6-6.2 6-6.2zM288 388c-15.5 0-28 12.5-28 28s12.5 28 28 28 28-12.5 28-28-12.5-28-28-28zm281.5 52L329.6 24c-18.4-32-64.7-32-83.2 0L6.5 440c-18.4 31.9 4.6 72 41.6 72H528c36.8 0 60-40 41.5-72zM528 480H48c-12.3 0-20-13.3-13.9-24l240-416c6.1-10.6 21.6-10.7 27.7 0l240 416c6.2 10.6-1.5 24-13.8 24z" fill="%23DEAD22" stroke="%23DEAD22"/></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.3ex;
+    margin-inline-end: 1.1ex;
+    margin-top: -0.1em;
+}
+
+.documentation-button {
+    cursor: pointer;
+    display: inline-block;
+    width: 13px;
+    height: 13px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 340c-15.464 0-28 12.536-28 28s12.536 28 28 28 28-12.536 28-28-12.536-28-28-28zm7.67-24h-16c-6.627 0-12-5.373-12-12v-.381c0-70.343 77.44-63.619 77.44-107.408 0-20.016-17.761-40.211-57.44-40.211-29.144 0-44.265 9.649-59.211 28.692-3.908 4.98-11.054 5.995-16.248 2.376l-13.134-9.15c-5.625-3.919-6.86-11.771-2.645-17.177C185.658 133.514 210.842 116 255.67 116c52.32 0 97.44 29.751 97.44 80.211 0 67.414-77.44 63.849-77.44 107.408V304c0 6.627-5.373 12-12 12zM256 40c118.621 0 216 96.075 216 216 0 119.291-96.61 216-216 216-119.244 0-216-96.562-216-216 0-119.203 96.602-216 216-216m0-32C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8z" fill="%23999999" stroke="%23999999"/></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.5ex;
+    margin-inline-end: 0.5ex;
+    margin-top: -0.2em;
+}
+
+.documentation-button::selection {
+    color: transparent;
+}
+
+.documentation-button:hover {
+    color: transparent;
+}
+
+.copy-button {
+    cursor: pointer;
+    display: inline-block;
+    width: 12px;
+    height: 12px;
+    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433.941 193.941l-51.882-51.882A48 48 0 0 0 348.118 128H320V80c0-26.51-21.49-48-48-48h-66.752C198.643 13.377 180.858 0 160 0s-38.643 13.377-45.248 32H48C21.49 32 0 53.49 0 80v288c0 26.51 21.49 48 48 48h80v48c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V227.882a48 48 0 0 0-14.059-33.941zm-22.627 22.627a15.888 15.888 0 0 1 4.195 7.432H352v-63.509a15.88 15.88 0 0 1 7.431 4.195l51.883 51.882zM160 30c9.941 0 18 8.059 18 18s-8.059 18-18 18-18-8.059-18-18 8.059-18 18-18zM48 384c-8.822 0-16-7.178-16-16V80c0-8.822 7.178-16 16-16h66.752c6.605 18.623 24.389 32 45.248 32s38.643-13.377 45.248-32H272c8.822 0 16 7.178 16 16v48H176c-26.51 0-48 21.49-48 48v208H48zm352 96H176c-8.822 0-16-7.178-16-16V176c0-8.822 7.178-16 16-16h144v72c0 13.2 10.8 24 24 24h72v208c0 8.822-7.178 16-16 16z" fill="%23999999" stroke="%23999999"/></svg>');
+    background-size: contain;
+    background-repeat: no-repeat;
+    vertical-align: middle;
+    margin-inline-start: 0.5ex;
+    margin-top: -0.2em;
+}
+
+.groups{
+    display: flex;
+    border-bottom: 1px solid #EDEEEF;
+    flex: 1 0 100%;
+}
+
+.uncategorized {
+    display: flex;
+    border-top: 4px solid #EDEEEF;
+    flex: 1 0 100%;
+}
+
+.group-selector {
+    padding: 0 52px 24px 0;
+    font-size: 0.9rem;
+    font-weight: bold;
+    color: #999999;
+    cursor: pointer;
+}
+
+.group-selector__count {
+    margin: 0 8px;
+    border-radius: 8px;
+    background-color: #999;
+    color: #fff;
+    padding: 1px 8px 2px;
+    font-size: 0.75rem;
+}
+
+.group-selector--active {
+    color: #02303A;
+    cursor: auto;
+}
+
+.group-selector--active .group-selector__count {
+    background-color: #686868;
+}
+
+.group-selector--disabled {
+    cursor: not-allowed;
+}
+
+.accordion-header {
+    cursor: pointer;
+}
+
+.container {
+    padding-left: 0.5em;
+    padding-right: 0.5em;
+}
+
+.stacktrace {
+    border-radius: 4px;
+    overflow-x: auto;
+    padding: 0.5rem;
+    margin-bottom: 0;
+    min-width: 1000px;
+}
+
+/* Lato (bold, regular) */
+@font-face {
+    font-display: swap;
+    font-family: Lato;
+    font-weight: 500;
+    font-style: normal;
+    src: url("https://assets.gradle.com/lato/fonts/lato-semibold/lato-semibold.woff2") format("woff2"),
+    url("https://assets.gradle.com/lato/fonts/lato-semibold/lato-semibold.woff") format("woff");
+}
+
+@font-face {
+    font-display: swap;
+    font-family: Lato;
+    font-weight: bold;
+    font-style: normal;
+    src: url("https://assets.gradle.com/lato/fonts/lato-bold/lato-bold.woff2") format("woff2"),
+    url("https://assets.gradle.com/lato/fonts/lato-bold/lato-bold.woff") format("woff");
+}
+
+* {
+    -webkit-box-sizing: border-box;
+    -moz-box-sizing: border-box;
+    box-sizing: border-box;
+}
+
+html,
+body {
+    margin: 0;
+    padding: 0;
+}
+
+html {
+    font-family: "Lato", "Helvetica Neue", Arial, sans-serif;
+    font-size: 16px;
+    font-weight: 400;
+    line-height: 1.5;
+}
+
+body {
+    color: #02303A;
+    background-color: #ffffff;
+    -webkit-text-size-adjust: 100%;
+    -ms-text-size-adjust: 100%;
+    -webkit-font-smoothing: antialiased;
+}
+
+
+/* typography */
+h1, h2, h3, h4, h5, h6 {
+    color: #02303A;
+    text-rendering: optimizeLegibility;
+    margin: 0;
+}
+
+h1 {
+    font-size: 1rem;
+}
+
+h2 {
+    font-size: 0.9rem;
+}
+
+h3 {
+    font-size: 1.125rem;
+}
+
+h4, h5, h6 {
+    font-size: 0.875rem;
+}
+
+h1 code {
+    font-weight: bold;
+}
+
+ul, ol, dl {
+    list-style-position: outside;
+    line-height: 1.6;
+    padding: 0;
+    margin: 0 0 0 20px;
+    list-style-type: none;
+}
+
+li {
+    line-height: 2;
+}
+
+a {
+    color: #1DA2BD;
+    text-decoration: none;
+    transition: all 0.3s ease, visibility 0s;
+}
+
+a:hover {
+    color: #35c1e4;
+}
+
+/* code */
+code, pre {
+    font-family: Inconsolata, Monaco, "Courier New", monospace;
+    font-style: normal;
+    font-variant-ligatures: normal;
+    font-variant-caps: normal;
+    font-variant-numeric: normal;
+    font-variant-east-asian: normal;
+    font-weight: normal;
+    font-stretch: normal;
+    color: #686868;
+}
+
+*:not(pre) > code {
+    letter-spacing: 0;
+    padding: 0.1em 0.5ex;
+    text-rendering: optimizeSpeed;
+    word-spacing: -0.15em;
+    word-wrap: break-word;
+}
+
+pre {
+    font-size: 0.75rem;
+    line-height: 1.8;
+    margin-top: 0;
+    margin-bottom: 1.5em;
+    padding: 1rem;
+}
+
+pre code {
+    background-color: transparent;
+    color: inherit;
+    line-height: 1.8;
+    font-size: 100%;
+    padding: 0;
+}
+
+a code {
+    color: #1BA8CB;
+}
+
+pre.code, pre.programlisting, pre.screen, pre.tt {
+    background-color: #f7f7f8;
+    border-radius: 4px;
+    font-size: 1em;
+    line-height: 1.45;
+    margin-bottom: 1.25em;
+    overflow-x: auto;
+    padding: 1rem;
+}
+
+li em, p em {
+    padding: 0 1px;
+}
+
+code em, tt em {
+    text-decoration: none;
+}
+
+code + .copy-button {
+    margin-inline-start: 0.2ex;
+}
+
+.java-exception {
+    font-size: 0.75rem;
+    padding-left: 24px;
+}
+
+.java-exception ul {
+    margin: 0;
+    line-height: inherit;
+}
+
+.java-exception code {
+    white-space: pre;
+}
+
+.java-exception-part-toggle {
+    user-select: none;
+    cursor: pointer;
+    border-radius: 2px;
+    padding: 0.1em 0.2em;
+    background: azure;
+    color: #686868;
+}
+
+                </style>
+    <!-- Inconsolata is used as a default monospace font in the report. -->
+    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inconsolata:400,700" />
+
+    <title>Gradle Configuration Cache</title>
+</head>
+<body>
+
+<div id="playground"></div>
+
+<div class="report" id="report">
+    Loading...
+</div>
+
+<script type="text/javascript">
+function configurationCacheProblems() { return (
+// begin-report-data
+{"diagnostics":[{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring dependencies using multi-string notation has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This will fail with an error in Gradle 10."}],"contextualLabel":"Declaring dependencies using multi-string notation has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_9.html#dependency_multi_string_notation","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-dependencies-using-multi-string-notation","displayName":"Declaring dependencies using multi-string notation has been deprecated."}],"solutions":[[{"text":"Please use single-string notation instead: \"com.android.tools.lint:lint-gradle:31.7.3\"."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring dependencies using multi-string notation has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This will fail with an error in Gradle 10."}],"contextualLabel":"Declaring dependencies using multi-string notation has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_9.html#dependency_multi_string_notation","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-dependencies-using-multi-string-notation","displayName":"Declaring dependencies using multi-string notation has been deprecated."}],"solutions":[[{"text":"Please use single-string notation instead: \"com.android.tools.build:aapt2:8.7.3-12006047:windows\"."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring 'crunchPngs' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType$AgpDecorated has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 10, this property will no longer be treated like a property."}],"contextualLabel":"Declaring 'crunchPngs' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType$AgpDecorated has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-crunchpngs-as-a-property-using-an-is-method-with-a-boolean-type-on-com-android-build-gradle-internal-dsl-buildtype-agpdecorated","displayName":"Declaring 'crunchPngs' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType$AgpDecorated has been deprecated."}],"solutions":[[{"text":"Add a method named 'getCrunchPngs' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.gradle.internal.dsl.BuildType$AgpDecorated.isCrunchPngs' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring 'useProguard' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 10, this property will no longer be treated like a property."}],"contextualLabel":"Declaring 'useProguard' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-useproguard-as-a-property-using-an-is-method-with-a-boolean-type-on-com-android-build-gradle-internal-dsl-buildtype","displayName":"Declaring 'useProguard' as a property using an 'is-' method with a Boolean type on com.android.build.gradle.internal.dsl.BuildType has been deprecated."}],"solutions":[[{"text":"Add a method named 'getUseProguard' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.gradle.internal.dsl.BuildType.isUseProguard' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"Declaring 'wearAppUnbundled' as a property using an 'is-' method with a Boolean type on com.android.build.api.variant.impl.ApplicationVariantImpl has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"Starting with Gradle 10, this property will no longer be treated like a property."}],"contextualLabel":"Declaring 'wearAppUnbundled' as a property using an 'is-' method with a Boolean type on com.android.build.api.variant.impl.ApplicationVariantImpl has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_8.html#groovy_boolean_properties","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"declaring-wearappunbundled-as-a-property-using-an-is-method-with-a-boolean-type-on-com-android-build-api-variant-impl-applicationvariantimpl","displayName":"Declaring 'wearAppUnbundled' as a property using an 'is-' method with a Boolean type on com.android.build.api.variant.impl.ApplicationVariantImpl has been deprecated."}],"solutions":[[{"text":"Add a method named 'getWearAppUnbundled' with the same behavior and mark the old one with @Deprecated, or change the type of 'com.android.build.api.variant.impl.ApplicationVariantImpl.isWearAppUnbundled' (and the setter) to 'boolean'."}],[{"text":"The combination of method name and return type is not consistent with Java Bean property rules."}]]},{"locations":[{"pluginId":"com.android.internal.application"}],"problem":[{"text":"The StartParameter.isConfigurationCacheRequested property has been deprecated."}],"severity":"WARNING","problemDetails":[{"text":"This is scheduled to be removed in Gradle 10."}],"contextualLabel":"The StartParameter.isConfigurationCacheRequested property has been deprecated.","documentationLink":"https://docs.gradle.org/9.3.0/userguide/upgrading_version_8.html#deprecated_startparameter_is_configuration_cache_requested","problemId":[{"name":"deprecation","displayName":"Deprecation"},{"name":"the-startparameter-isconfigurationcacherequested-property-has-been-deprecated","displayName":"The StartParameter.isConfigurationCacheRequested property has been deprecated."}],"solutions":[[{"text":"Please use 'configurationCache.requested' property on 'BuildFeatures' service instead."}]]}],"problemsReport":{"totalProblemCount":6,"buildName":"NaverKakaoNavigator","requestedTasks":":app:assembleDebug","documentationLink":"https://docs.gradle.org/9.3.0/userguide/reporting_problems.html","documentationLinkCaption":"Problem report","summaries":[]}}
+// end-report-data
+);}
+</script>
+                <script type="text/javascript">
+                !function(n,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["configuration-cache-report"]=t():n["configuration-cache-report"]=t()}(globalThis,()=>{return void 0===Math.imul&&(Math.imul=function(n,t){return(4294901760&n)*(65535&t)+(65535&n)*(0|t)|0}),void 0===ArrayBuffer.isView&&(ArrayBuffer.isView=function(n){return null!=n&&null!=n.__proto__&&n.__proto__.__proto__===Int8Array.prototype.__proto__}),void 0===Array.prototype.fill&&Object.defineProperty(Array.prototype,"fill",{value:function(n){if(null==this)throw new TypeError("this is null or not defined");for(var t=Object(this),r=t.length>>>0,i=0|arguments[1],e=i<0?Math.max(r+i,0):Math.min(i,r),u=arguments[2],o=void 0===u?r:0|u,a=o<0?Math.max(r+o,0):Math.min(o,r);e<a;)t[e]=n,e++;return t}}),[Int8Array,Int16Array,Uint16Array,Int32Array,Float32Array,Float64Array].forEach(function(n){void 0===n.prototype.fill&&Object.defineProperty(n.prototype,"fill",{value:Array.prototype.fill})}),void 0===Math.clz32&&(Math.clz32=(n=Math.log,t=Math.LN2,function(r){var i=r>>>0;return 0===i?32:31-(n(i)/t|0)|0})),globalThis["org.gradle.buildtool.internal:configuration-cache-report"]=function(n){"use strict";var t,r,i,e,u,o,a,f,s,c,h,l,_,v,g,d,w,b,m,p,k,y,q,j,B,C,x,P,S,I,z,T,L,E,M,N,A,F,D,O,R,H,$,G,U,Q,V,W,Y,K,Z,J,X,nn,tn,rn,en,un,on,an,fn,sn,cn,hn,ln,_n,vn,gn,dn,wn,bn,mn,pn,kn,yn,qn,jn,Bn,Cn,xn,Pn,Sn,In,zn,Tn,Ln=Math.imul,En=ArrayBuffer.isView,Mn=Math.clz32;function Nn(){}function An(){}function Fn(){}function Dn(n,t){if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));return function(n,t){if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));if(0===t)return ou();if(t>=n.length)return function(n){switch(n.length){case 0:return ou();case 1:return $r(n[0]);default:return function(n){return oi(function(n,t){return new hu(n,t=t!==b&&t)}(n))}(n)}}(n);if(1===t)return $r(n[0]);var r=0,i=ui(t),e=0,u=n.length;n:for(;e<u;){var o=n[e];if(e=e+1|0,i.h(o),(r=r+1|0)===t)break n}return i}(n,tt(n.length-t|0,0))}function On(n,t,r,i,e,u,o){return t=t===b?", ":t,r=r===b?"":r,i=i===b?"":i,e=e===b?-1:e,u=u===b?"...":u,o=o===b?null:o,function(n,t,r,i,e,u,o,a){r=r===b?", ":r,i=i===b?"":i,e=e===b?"":e,u=u===b?-1:u,o=o===b?"...":o,a=a===b?null:a,t.i(i);var f=0,s=0,c=n.length;n:for(;s<c;){var h=n[s];if(s=s+1|0,(f=f+1|0)>1&&t.i(r),!(u<0||f<=u))break n;Tu(t,h,a)}return u>=0&&f>u&&t.i(o),t.i(e),t}(n,Le(),t,r,i,e,u,o).toString()}function Rn(n){return n.length-1|0}function Hn(n,t,r,i,e,u,o){return t=t===b?", ":t,r=r===b?"":r,i=i===b?"":i,e=e===b?-1:e,u=u===b?"...":u,o=o===b?null:o,$n(n,Le(),t,r,i,e,u,o).toString()}function $n(n,t,r,i,e,u,o,a){r=r===b?", ":r,i=i===b?"":i,e=e===b?"":e,u=u===b?-1:u,o=o===b?"...":o,a=a===b?null:a,t.i(i);var f=0,s=n.j();n:for(;s.k();){var c=s.l();if((f=f+1|0)>1&&t.i(r),!(u<0||f<=u))break n;Tu(t,c,a)}return u>=0&&f>u&&t.i(o),t.i(e),t}function Gn(n){return new nt(n)}function Un(n){if(n.m())throw we("List is empty.");return n.n(0)}function Qn(n){if(zr(n,vt)){var t;switch(n.o()){case 0:t=ou();break;case 1:t=$r(zr(n,_t)?n.n(0):n.j().l());break;default:t=Vn(n)}return t}return au(Zn(n))}function Vn(n){return oi(n)}function Wn(n){if(zr(n,vt)&&n.o()<=1)return Qn(n);var t=Zn(n);return function(n){var t=(n.o()/2|0)-1|0;if(t<0)return k;var r=fu(n),i=0;if(i<=t)do{var e=i;i=i+1|0;var u=n.n(e);n.z1(e,n.n(r)),n.z1(r,u),r=r-1|0}while(e!==t)}(t),t}function Yn(n,t){if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));return function(n,t){if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));if(0===t)return ou();if(zr(n,vt)){if(t>=n.o())return Qn(n);if(1===t)return $r(function(n){if(zr(n,_t))return Un(n);var t=n.j();if(!t.k())throw we("Collection is empty.");return t.l()}(n))}var r=0,i=ui(t),e=n.j();n:for(;e.k();){var u=e.l();if(i.h(u),(r=r+1|0)===t)break n}return au(i)}(n,tt(n.o()-t|0,0))}function Kn(n,t){if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));if(0===t)return ou();var r=n.o();if(t>=r)return Qn(n);if(1===t)return $r(Jn(n));var i=ui(t);if(zr(n,Yi)){var e=r-t|0;if(e<r)do{var u=e;e=e+1|0,i.h(n.n(u))}while(e<r)}else for(var o=n.p(r-t|0);o.k();){var a=o.l();i.h(a)}return i}function Zn(n){return zr(n,vt)?Vn(n):Xn(n,ei())}function Jn(n){if(n.m())throw we("List is empty.");return n.n(fu(n))}function Xn(n,t){for(var r=n.j();r.k();){var i=r.l();t.h(i)}return t}function nt(n){this.r_1=n}function tt(n,t){return n<t?t:n}function rt(n,t){return n>t?t:n}function it(n,t){return E.u(n,t,-1)}function et(n,t){return new bu(n,t)}function ut(n){var t=n.j();if(!t.k())return ou();var r=t.l();if(!t.k())return $r(r);var i=ei();for(i.h(r);t.k();)i.h(t.l());return i}function ot(n){this.v_1=n}function at(n,t){this.w_1=n,this.x_1=t}function ft(n){return n}function st(n,t){return n-t|0}function ct(n){return n}function ht(n){return String.fromCharCode(n)}function lt(){}function _t(){}function vt(){}function gt(){}function dt(){}function wt(){}function bt(){}function mt(n,t){this.g1_1=n,this.h1_1=t}function pt(n){var t=null==n?null:$t(n);return null==t?"null":t}function kt(){t=this,this.j1_1=new yt(0,-2147483648),this.k1_1=new yt(-1,2147483647),this.l1_1=8,this.m1_1=64}function yt(n,r){null==t&&new kt,Fn.call(this),this.n1_1=n,this.o1_1=r}function qt(n){var t=n>>5,r=new Int32Array(t+1|0),i=1<<(31&n);return r[t]=r[t]|i,r}function jt(){}function Bt(n){this.y1_1=n,this.x1_1=0}function Ct(){return It(),r}function xt(){return It(),i}function Pt(){return It(),e}function St(){return It(),u}function It(){a||(a=!0,r=new ArrayBuffer(8),i=new Float64Array(Ct()),new Float32Array(Ct()),e=new Int32Array(Ct()),xt()[0]=-1,u=0!==Pt()[0]?1:0,o=1-St()|0)}function zt(n,t){return Tt(n)?Lt(n,t):n.b(t)}function Tt(n){return"string"==typeof n}function Lt(n,t){return n.charCodeAt(t)}function Et(n){return Tt(n)?n.length:n.a()}function Mt(n,t,r){return Tt(n)?Re(n,t,r):n.c(t,r)}function Nt(n){return $t(n)}function At(n,t){var r;switch(typeof n){case"number":r="number"==typeof t?Ft(n,t):t instanceof yt?Ft(n,t.v1()):Dt(n,t);break;case"string":case"boolean":r=Dt(n,t);break;default:r=function(n,t){return n.d(t)}(n,t)}return r}function Ft(n,t){var r;if(n<t)r=-1;else if(n>t)r=1;else if(n===t){var i;if(0!==n)i=0;else{var e=1/n;i=e===1/t?0:e<0?-1:1}r=i}else r=n!=n?t!=t?0:1:-1;return r}function Dt(n,t){return n<t?-1:n>t?1:0}function Ot(n){if(!("kotlinHashCodeValue$"in n)){var t=Rt(),r=new Object;r.value=t,r.enumerable=!1,Object.defineProperty(n,"kotlinHashCodeValue$",r)}return n.kotlinHashCodeValue$}function Rt(){return 4294967296*Math.random()|0}function Ht(n){return n=n===b?null:n,Object.create(n)}function $t(n){return null==n?"null":function(n){return t=n,Array.isArray(t)||En(n);var t}(n)?"[...]":"function"!=typeof n.toString?function(n){return Object.prototype.toString.call(n)}(n):n.toString()}function Gt(n){if(null==n)return 0;var t,r=typeof n;switch(r){case"object":t="function"==typeof n.hashCode?n.hashCode():Ot(n);break;case"function":t=Ot(n);break;case"number":t=function(n){return It(),(0|n)===n?Sr(n):(xt()[0]=n,Ln(Pt()[(It(),o)],31)+Pt()[St()]|0)}(n);break;case"boolean":t=Ut(n);break;case"string":t=Qt(String(n));break;case"bigint":t=function(n){for(var t=BigInt(32),r=BigInt(4294967295),i=n<0?-n:n,e=0,u=n<0?-1:1;0!=i;){var o=Number(i&r);e=Ln(31,e)+o|0,i>>=t}return Ln(e,u)}(n);break;case"symbol":t=function(n){var t,r=(t=n,Symbol.keyFor(t)!=b?(f===b&&(f=new Map),f):(s===b&&(s=new WeakMap),s)),i=r.get(n);if(i!==b)return i;var e=Rt();return r.set(n,e),e}(n);break;default:t=function(){throw new Error("Unexpected typeof `"+r+"`")}()}return t}function Ut(n){return n?1231:1237}function Qt(n){var t=0,r=0,i=n.length-1|0;if(r<=i)do{var e=r;r=r+1|0;var u=n.charCodeAt(e);t=Ln(t,31)+u|0}while(e!==i);return t}function Vt(n,t){return null==n?null==t:null!=t&&("object"==typeof n&&"function"==typeof n.equals?n.equals(t):n!=n?t!=t:"number"==typeof n&&"number"==typeof t?n===t&&(0!==n||1/n==1/t):n===t)}function Wt(n,t){null!=Error.captureStackTrace?Error.captureStackTrace(n,t):n.stack=(new Error).stack}function Yt(n){return n.prototype}function Kt(n){return n===b}function Zt(n,t,r){Jt(n,"message",function(n,t){var r;if(Kt(n)){var i;if(Kt(t))i=n;else{var e=null==t?null:t.toString();i=null==e?b:e}r=i}else r=null==n?b:n;return r}(t,r)),Jt(n,"cause",r),Jt(n,"name",Object.getPrototypeOf(n).constructor.name)}function Jt(n,t,r){Object.defineProperty(n,t,{configurable:!0,writable:!0,value:r})}function Xt(n){var t;return null==n?function(){throw Ce()}():t=n,t}function nr(){throw Pe()}function tr(){throw Ie()}function rr(){return qr(),c}function ir(){return qr(),h}function er(){return qr(),l}function ur(){return qr(),v}function or(){return qr(),g}function ar(n,t){if(qr(),_r(n,t))return 0;var r=gr(n),i=gr(t);return r&&!i?-1:!r&&i?1:gr(sr(n,t))?-1:1}function fr(n,t){qr();var r=n.o1_1>>>16|0,i=65535&n.o1_1,e=n.n1_1>>>16|0,u=65535&n.n1_1,o=t.o1_1>>>16|0,a=65535&t.o1_1,f=t.n1_1>>>16|0,s=0,c=0,h=0,l=0;return s=(s=s+((c=(c=c+((h=(h=h+((l=l+(u+(65535&t.n1_1)|0)|0)>>>16|0)|0)+(e+f|0)|0)>>>16|0)|0)+(i+a|0)|0)>>>16|0)|0)+(r+o|0)|0,new yt((h&=65535)<<16|(l&=65535),(s&=65535)<<16|(c&=65535))}function sr(n,t){return qr(),fr(n,t.s1())}function cr(n,t){if(qr(),dr(n))return rr();if(dr(t))return rr();if(_r(n,ur()))return wr(t)?ur():rr();if(_r(t,ur()))return wr(n)?ur():rr();if(gr(n))return gr(t)?cr(br(n),br(t)):br(cr(br(n),t));if(gr(t))return br(cr(n,br(t)));if(mr(n,or())&&mr(t,or()))return pr(hr(n)*hr(t));var r=n.o1_1>>>16|0,i=65535&n.o1_1,e=n.n1_1>>>16|0,u=65535&n.n1_1,o=t.o1_1>>>16|0,a=65535&t.o1_1,f=t.n1_1>>>16|0,s=65535&t.n1_1,c=0,h=0,l=0,_=0;return l=l+((_=_+Ln(u,s)|0)>>>16|0)|0,_&=65535,h=(h=h+((l=l+Ln(e,s)|0)>>>16|0)|0)+((l=(l&=65535)+Ln(u,f)|0)>>>16|0)|0,l&=65535,c=(c=(c=c+((h=h+Ln(i,s)|0)>>>16|0)|0)+((h=(h&=65535)+Ln(e,f)|0)>>>16|0)|0)+((h=(h&=65535)+Ln(u,a)|0)>>>16|0)|0,h&=65535,c=c+(((Ln(r,s)+Ln(i,f)|0)+Ln(e,a)|0)+Ln(u,o)|0)|0,new yt(l<<16|_,(c&=65535)<<16|h)}function hr(n){return qr(),4294967296*n.o1_1+function(n){return qr(),n.n1_1>=0?n.n1_1:4294967296+n.n1_1}(n)}function lr(n,t){if(qr(),t<2||36<t)throw ie("radix out of range: "+t);if(dr(n))return"0";if(gr(n)){if(_r(n,ur())){var r=vr(t),i=n.r1(r),e=sr(cr(i,r),n).u1();return lr(i,t)+e.toString(t)}return"-"+lr(br(n),t)}for(var u=2===t?31:t<=10?9:t<=21?7:t<=35?6:5,o=pr(Math.pow(t,u)),a=n,f="";;){var s=a.r1(o),c=sr(a,cr(s,o)).u1().toString(t);if(dr(a=s))return c+f;for(;c.length<u;)c="0"+c;f=c+f}}function _r(n,t){return qr(),n.o1_1===t.o1_1&&n.n1_1===t.n1_1}function vr(n){return qr(),new yt(n,n<0?-1:0)}function gr(n){return qr(),n.o1_1<0}function dr(n){return qr(),0===n.o1_1&&0===n.n1_1}function wr(n){return qr(),!(1&~n.n1_1)}function br(n){return qr(),n.s1()}function mr(n,t){return qr(),ar(n,t)<0}function pr(n){if(qr(),(t=n)!=t)return rr();if(n<=-0x8000000000000000)return ur();if(n+1>=0x8000000000000000)return qr(),_;if(n<0)return br(pr(-n));var t,r=4294967296;return new yt(n%r|0,n/r|0)}function kr(n,t){return qr(),ar(n,t)>0}function yr(n,t){return qr(),ar(n,t)>=0}function qr(){d||(d=!0,c=vr(0),h=vr(1),l=vr(-1),_=new yt(-1,2147483647),v=new yt(0,-2147483648),g=vr(16777216))}function jr(n,t,r,i,e,u,o,a,f){null!=e&&(t.prototype=Object.create(e.prototype),t.prototype.constructor=t);var s=function(n,t,r,i,e,u){return{kind:n,simpleName:t,associatedObjectKey:i,associatedObjects:e,suspendArity:u,$kClass$:b,defaultConstructor:r,iid:"interface"===n?(w===b&&(w=0),w=w+1|0):b}}(n,r,i,a,f,o);t.$metadata$=s,null!=u&&((Vt(s.iid,b)?t.prototype:t).$imask$=function(n){for(var t=1,r=[],i=0,e=n.length;i<e;){var u=n[i];i=i+1|0;var o=t,a=u.prototype.$imask$,f=null==a?u.$imask$:a;null!=f&&(r.push(f),o=f.length);var s=u.$metadata$.iid,c=null==s?null:qt(s);null!=c&&(r.push(c),o=Math.max(o,c.length)),o>t&&(t=o)}return function(n,t){for(var r=0,i=new Int32Array(n);r<n;){for(var e=r,u=0,o=0,a=t.length;o<a;){var f=t[o];o=o+1|0,e<f.length&&(u|=f[e])}i[e]=u,r=r+1|0}return i}(t,r)}(u))}function Br(n,t,r,i,e,u,o,a){jr("class",n,t,r,i,e,u,o,a)}function Cr(n,t,r,i,e,u,o,a){jr("object",n,t,r,i,e,u,o,a)}function xr(n,t,r,i,e,u,o,a){jr("interface",n,t,r,i,e,u,o,a)}function Pr(n,t,r,i){Cr(n,"Companion",b,t,r,i,b,b)}function Sr(n){return n instanceof yt?n.u1():function(n){return n>2147483647?2147483647:n<-2147483648?-2147483648:0|n}(n)}function Ir(n,t){return new Pu(n,t)}function zr(n,t){return function(n,t){var r=n.$imask$;return null!=r&&function(n,t){var r=t>>5;if(r>n.length)return!1;var i=1<<(31&t);return!(0===(n[r]&i))}(r,t)}(n,t.$metadata$.iid)}function Tr(n){return"string"==typeof n||zr(n,Nn)}function Lr(n){return new fi(n)}function Er(n,t,r){for(var i=new Int32Array(r),e=0,u=0,o=0,a=0,f=n.length;a<f;){var s=Lt(n,a);a=a+1|0;var c=t[ct(s)];if(u|=(31&c)<<o,c<32){var h=e;e=h+1|0,i[h]=u,u=0,o=0}else o=o+5|0}return i}function Mr(n,t){for(var r=0,i=n.length-1|0,e=-1,u=0;r<=i;)if(t>(u=n[e=(r+i|0)/2|0]))r=e+1|0;else{if(t===u)return e;i=e-1|0}return e-(t<u?1:0)|0}function Nr(){m=this;var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=new Int32Array(128),r=0,i=Et(n)-1|0;if(r<=i)do{var e=r;r=r+1|0,t[ct(Lt(n,e))]=e}while(r<=i);var u=Er("hCgBpCQGYHZH5BRpBPPPPPPRMP5BPPlCPP6BkEPPPPcPXPzBvBrB3BOiDoBHwD+E3DauCnFmBmB2D6E1BlBTiBmBlBP5BhBiBrBvBjBqBnBPRtBiCmCtBlB0BmB5BiB7BmBgEmChBZgCoEoGVpBSfRhBPqKQ2BwBYoFgB4CJuTiEvBuCuDrF5DgEgFlJ1DgFmBQtBsBRGsB+BPiBlD1EIjDPRPPPQPPPPPGQSQS/DxENVNU+B9zCwBwBPPCkDPNnBPqDYY1R8B7FkFgTgwGgwUwmBgKwBuBScmEP/BPPPPPPrBP8B7F1B/ErBqC6B7BiBmBfQsBUwCw/KwqIwLwETPcPjQgJxFgBlBsD",t,222),o=new Int32Array(u.length),a=0,f=u.length-1|0;if(a<=f)do{var s=a;a=a+1|0,o[s]=0===s?u[s]:o[s-1|0]+u[s]|0}while(a<=f);this.a2_1=o,this.b2_1=Er("aaMBXHYH5BRpBPPPPPPRMP5BPPlCPPzBDOOPPcPXPzBvBjB3BOhDmBBpB7DoDYxB+EiBP1DoExBkBQhBekBPmBgBhBctBiBMWOOXhCsBpBkBUV3Ba4BkB0DlCgBXgBtD4FSdBfPhBPpKP0BvBXjEQ2CGsT8DhBtCqDpFvD1D3E0IrD2EkBJrBDOBsB+BPiBlB1EIjDPPPPPPPPPPPGPPMNLsBNPNPKCvBvBPPCkDPBmBPhDXXgD4B6FzEgDguG9vUtkB9JcuBSckEP/BPPPPPPBPf4FrBjEhBpC3B5BKaWPrBOwCk/KsCuLqDHPbPxPsFtEaaqDL",t,222),this.c2_1=Er("GFjgggUHGGFFZZZmzpz5qB6s6020B60ptltB6smt2sB60mz22B1+vv+8BZZ5s2850BW5q1ymtB506smzBF3q1q1qB1q1q1+Bgii4wDTm74g3KiggxqM60q1q1Bq1o1q1BF1qlrqrBZ2q5wprBGFZWWZGHFsjiooLowgmOowjkwCkgoiIk7ligGogiioBkwkiYkzj2oNoi+sbkwj04DghhkQ8wgiYkgoioDsgnkwC4gikQ//v+85BkwvoIsgoyI4yguI0whiwEowri4CoghsJowgqYowgm4DkwgsY/nwnzPowhmYkg6wI8yggZswikwHgxgmIoxgqYkwgk4DkxgmIkgoioBsgssoBgzgyI8g9gL8g9kI0wgwJoxgkoC0wgioFkw/wI0w53iF4gioYowjmgBHGq1qkgwBF1q1q8qBHwghuIwghyKk0goQkwgoQk3goQHGFHkyg0pBgxj6IoinkxDswno7Ikwhz9Bo0gioB8z48Rwli0xN0mpjoX8w78pDwltoqKHFGGwwgsIHFH3q1q16BFHWFZ1q10q1B2qlwq1B1q10q1B2q1yq1B6q1gq1Biq1qhxBir1qp1Bqt1q1qB1g1q1+B//3q16B///q1qBH/qlqq9Bholqq9B1i00a1q10qD1op1HkwmigEigiy6Cptogq1Bixo1kDq7/j00B2qgoBWGFm1lz50B6s5q1+BGWhggzhwBFFhgk4//Bo2jigE8wguI8wguI8wgugUog1qoB4qjmIwwi2KgkYHHH4lBgiFWkgIWoghssMmz5smrBZ3q1y50B5sm7gzBtz1smzB5smz50BqzqtmzB5sgzqzBF2/9//5BowgoIwmnkzPkwgk4C8ys65BkgoqI0wgy6FghquZo2giY0ghiIsgh24B4ghsQ8QF/v1q1OFs0O8iCHHF1qggz/B8wg6Iznv+//B08QgohsjK0QGFk7hsQ4gB",t,222)}function Ar(){return null==m&&new Nr,m}function Fr(){p=this,this.d2_1=new Int32Array([170,186,688,704,736,837,890,7468,7544,7579,8305,8319,8336,8560,9424,11388,42652,42864,43e3,43868]),this.e2_1=new Int32Array([1,1,9,2,5,1,1,63,1,37,1,1,13,16,26,2,2,1,2,4])}function Dr(){return null==p&&new Fr,p}function Or(){}function Rr(){}function Hr(n){return function(n){if(n.m())return[];for(var t=n.o(),r=Array(t),i=n.j(),e=0;i.k();){var u=e;e=u+1|0,r[u]=i.l()}return r}(n)}function $r(n){return new fi([n])}function Gr(n){return n<0&&function(){throw ke("Index overflow has happened.")}(),n}function Ur(n){return void 0!==n.toArray?n.toArray():Hr(n)}function Qr(n){return function(n,t){for(var r=0,i=n.length;r<i;){var e=n[r];r=r+1|0,t.h(e)}return t}(i=[n],(t=i.length,r=Ht(Yt(yi)),ki(t,1,r),r));var t,r,i}function Vr(){Ve.call(this)}function Wr(n){this.i2_1=n,this.g2_1=0,this.h2_1=-1}function Yr(n,t){this.m2_1=n,Wr.call(this,n),P.o2(t,this.m2_1.o()),this.g2_1=t}function Kr(){Vr.call(this),this.r2_1=0}function Zr(){iu.call(this),this.y2_1=null,this.z2_1=null}function Jr(){Vr.call(this)}function Xr(n){if(!(n>=0))throw ue($t("capacity must be non-negative."));return Array(n)}function ni(n,t,r){n.fill(null,t,r)}function ti(n,t){return function(n,t){if(!(t>=0))throw ue($t("Invalid new array size: "+t+"."));return function(n,t){var r=n.slice(0,t);void 0!==n.$type$&&(r.$type$=n.$type$);var i=n.length;if(t>i)for(r.length=t;i<t;){var e=i;i=e+1|0,r[e]=null}return r}(n,t)}(n,t)}function ri(){y=this;var n=ui(0);n.g_1=!0,this.h3_1=n}function ii(){return null==y&&new ri,y}function ei(){return n=Ht(Yt(fi)),fi.call(n,[]),n;var n}function ui(n){return function(n,t){if(fi.call(t,[]),!(n>=0))throw ue($t("Negative initial capacity: "+n));return t}(n,Ht(Yt(fi)))}function oi(n){return function(n,t){var r=Ur(n);return fi.call(t,r),t}(n,Ht(Yt(fi)))}function ai(n,t){return P.i3(t,n.o()),t}function fi(n){ii(),Kr.call(this),this.f_1=n,this.g_1=!1}function si(n,t,r,i,e){if(r===i)return n;var u=(r+i|0)/2|0,o=si(n,t,r,u,e),a=si(n,t,u+1|0,i,e),f=o===t?n:t,s=r,c=u+1|0,h=r;if(h<=i)do{var l=h;if(h=h+1|0,s<=u&&c<=i){var _=o[s],v=a[c];e.compare(_,v)<=0?(f[l]=_,s=s+1|0):(f[l]=v,c=c+1|0)}else s<=u?(f[l]=o[s],s=s+1|0):(f[l]=a[c],c=c+1|0)}while(l!==i);return f}function ci(n,t){return(3&n)-(3&t)|0}function hi(n){return function(n,t){Zr.call(t),_i.call(t),t.p3_1=n}(Ci(),n),n}function li(){return hi(Ht(Yt(_i)))}function _i(){this.q3_1=null}function vi(n){Vr.call(this),this.s3_1=n}function gi(n){di.call(this,n)}function di(n){Jr.call(this),this.z3_1=n}function wi(n){this.f4_1=n}function bi(n){Vr.call(this),this.g4_1=n}function mi(n,t){return Jr.call(t),yi.call(t),t.h4_1=n,t}function pi(n){return mi(Ci(),n),n}function ki(n,t,r){return mi(function(n,t){return function(n,t,r){if(xi(n,r),!(t>0))throw ue($t("Non-positive load factor: "+t));return r}(n,t,Ht(Yt($i)))}(n,t),r),r}function yi(){}function qi(n,t){return 0===(r=Ln(tt(t,1),3))?0:1<<31-Mn(r);var r}function ji(n,t){return Mn(t)+1|0}function Bi(n){if(n.t4_1.q4_1!==n.v4_1)throw je("The backing map has been modified after this entry was obtained.")}function Ci(){return xi(8,n=Ht(Yt($i))),n;var n}function xi(n,t){return $i.call(t,Xr(n),null,new Int32Array(n),new Int32Array(qi(0,n)),2,0),t}function Pi(n){return n.j4_1.length}function Si(n){return n.m4_1.length}function Ii(n){n.q4_1=n.q4_1+1|0}function zi(n,t){!function(n,t){var r=Pi(n)-n.o4_1|0,i=n.o4_1-n.o()|0;return r<t&&(i+r|0)>=t&&i>=(Pi(n)/4|0)}(n,t)?function(n,t){if(t<0)throw ve("too many elements");if(t>Pi(n)){var r=P.w4(Pi(n),t);n.j4_1=ti(n.j4_1,r);var i=n,e=n.k4_1;i.k4_1=null==e?null:ti(e,r),n.l4_1=function(n,t){if(!(t>=0))throw ue($t("Invalid new array size: "+t+"."));return function(n,t){for(var r=n.length,i=t.length,e=0,u=t;e<r&&e<i;){var o=e,a=e;e=a+1|0,u[o]=n[a]}return t}(n,new Int32Array(t))}(n.l4_1,r);var u=qi(0,r);u>Si(n)&&Ei(n,u)}}(n,n.o4_1+t|0):Li(n,!0)}function Ti(n,t){return null==t?0:Ln(Gt(t),-1640531527)>>>n.p4_1|0}function Li(n,t){for(var r=0,i=0,e=n.k4_1;r<n.o4_1;){var u=n.l4_1[r];u>=0&&(n.j4_1[i]=n.j4_1[r],null!=e&&(e[i]=e[r]),t&&(n.l4_1[i]=u,n.m4_1[u]=i+1|0),i=i+1|0),r=r+1|0}ni(n.j4_1,i,n.o4_1),null==e||ni(e,i,n.o4_1),n.o4_1=i}function Ei(n,t){Ii(n),n.o4_1>n.r4_1&&Li(n,!1),n.m4_1=new Int32Array(t),n.p4_1=ji(0,t);for(var r=0;r<n.o4_1;){var i=r;if(r=i+1|0,!Mi(n,i))throw ae("This cannot happen with fixed magic multiplier and grow-only hash array. Have object hashCodes changed?")}}function Mi(n,t){for(var r=Ti(n,n.j4_1[t]),i=n.n4_1;;){if(0===n.m4_1[r])return n.m4_1[r]=t+1|0,n.l4_1[t]=r,!0;if((i=i-1|0)<0)return!1;var e=r;r=e-1|0,0===e&&(r=Si(n)-1|0)}}function Ni(n,t){for(var r=Ti(n,t),i=n.n4_1;;){var e=n.m4_1[r];if(0===e)return-1;if(e>0&&Vt(n.j4_1[e-1|0],t))return e-1|0;if((i=i-1|0)<0)return-1;var u=r;r=u-1|0,0===u&&(r=Si(n)-1|0)}}function Ai(){this.x4_1=-1640531527,this.y4_1=8,this.z4_1=2,this.a5_1=-1}function Fi(n){this.b5_1=n,this.c5_1=0,this.d5_1=-1,this.e5_1=this.b5_1.q4_1,this.f5()}function Di(n){Fi.call(this,n)}function Oi(n){Fi.call(this,n)}function Ri(n){Fi.call(this,n)}function Hi(n,t){this.t4_1=n,this.u4_1=t,this.v4_1=this.t4_1.q4_1}function $i(n,t,r,i,e,u){this.j4_1=n,this.k4_1=t,this.l4_1=r,this.m4_1=i,this.n4_1=e,this.o4_1=u,this.p4_1=ji(0,Si(this)),this.q4_1=0,this.r4_1=0,this.s4_1=!1}function Gi(){}function Ui(){return hi(n=Ht(Yt(Qi))),Qi.call(n),n;var n}function Qi(){}function Vi(){return pi(n=Ht(Yt(Wi))),Wi.call(n),n;var n}function Wi(){}function Yi(){}function Ki(){}function Zi(n){Ki.call(this),this.k6_1=n}function Ji(){Xi.call(this)}function Xi(){Ki.call(this),this.m6_1=""}function ne(){if(!B){B=!0;var n="undefined"!=typeof process&&process.versions&&!!process.versions.node;j=n?new Zi(process.stdout):new Ji}}function te(n){return Zt(n),ee.call(n),n}function re(n,t){return Zt(t,n),ee.call(t),t}function ie(n){var t=re(n,Ht(Yt(ee)));return Wt(t,ie),t}function ee(){Wt(this,ee)}function ue(n){var t=function(n,t){return _e(n,t),oe.call(t),t}(n,Ht(Yt(oe)));return Wt(t,ue),t}function oe(){Wt(this,oe)}function ae(n){var t=function(n,t){return _e(n,t),fe.call(t),t}(n,Ht(Yt(fe)));return Wt(t,ae),t}function fe(){Wt(this,fe)}function se(){var n,t=(le(n=Ht(Yt(he))),he.call(n),n);return Wt(t,se),t}function ce(n){var t=function(n,t){return _e(n,t),he.call(t),t}(n,Ht(Yt(he)));return Wt(t,ce),t}function he(){Wt(this,he)}function le(n){return te(n),ge.call(n),n}function _e(n,t){return re(n,t),ge.call(t),t}function ve(n){var t=_e(n,Ht(Yt(ge)));return Wt(t,ve),t}function ge(){Wt(this,ge)}function de(){var n,t=(le(n=Ht(Yt(be))),be.call(n),n);return Wt(t,de),t}function we(n){var t=function(n,t){return _e(n,t),be.call(t),t}(n,Ht(Yt(be)));return Wt(t,we),t}function be(){Wt(this,be)}function me(n){var t=function(n,t){return _e(n,t),pe.call(t),t}(n,Ht(Yt(pe)));return Wt(t,me),t}function pe(){Wt(this,pe)}function ke(n){var t=function(n,t){return _e(n,t),ye.call(t),t}(n,Ht(Yt(ye)));return Wt(t,ke),t}function ye(){Wt(this,ye)}function qe(){var n,t=(le(n=Ht(Yt(Be))),Be.call(n),n);return Wt(t,qe),t}function je(n){var t=function(n,t){return _e(n,t),Be.call(t),t}(n,Ht(Yt(Be)));return Wt(t,je),t}function Be(){Wt(this,Be)}function Ce(){var n,t=(le(n=Ht(Yt(xe))),xe.call(n),n);return Wt(t,Ce),t}function xe(){Wt(this,xe)}function Pe(){var n,t=(le(n=Ht(Yt(Se))),Se.call(n),n);return Wt(t,Pe),t}function Se(){Wt(this,Se)}function Ie(){var n,t=(le(n=Ht(Yt(ze))),ze.call(n),n);return Wt(t,Ie),t}function ze(){Wt(this,ze)}function Te(n){return Ee.call(n,""),n}function Le(){return Te(Ht(Yt(Ee)))}function Ee(n){this.v5_1=n}function Me(n){var t=ht(n).toUpperCase();return t.length>1?n:Lt(t,0)}function Ne(n){return function(n){return 9<=n&&n<=13||28<=n&&n<=32||160===n||n>4096&&(5760===n||8192<=n&&n<=8202||8232===n||8233===n||8239===n||8287===n||12288===n)}(n)}function Ae(){C=this,this.q6_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.r6_1=new RegExp("[\\\\$]","g"),this.s6_1=new RegExp("\\$","g")}function Fe(){return null==C&&new Ae,C}function De(n,t){Fe(),this.v6_1=n,this.w6_1=function(n){if(zr(n,vt)){var t;switch(n.o()){case 0:t=yu();break;case 1:t=Qr(zr(n,_t)?n.n(0):n.j().l());break;default:t=Xn(n,(function(n,t,r){ki(n,1,r),Wi.call(r)}(n.o(),0,r=Ht(Yt(Wi))),r))}return t}var r;return function(n){switch(n.o()){case 0:return yu();case 1:return Qr(n.j().l());default:return n}}(Xn(n,Vi()))}(t),this.x6_1=new RegExp(n,Hn(t,"","gu",b,b,b,Oe)),this.y6_1=null,this.z6_1=null}function Oe(n){return n.d7_1}function Re(n,t,r){return Ue(),n.substring(t,r)}function He(n,t){return Ue(),n.substring(t)}function $e(n){this.e7_1=n}function Ge(n,t){return Ue(),function(n,t,r){if(r=r!==b&&r,Ue(),r){var i=n.length,e=t.length,u=Math.min(i,e);if(0===u)return i-e|0;var o=0;if(o<u)do{var a=o;o=o+1|0;var f=Lt(n,a),s=Lt(t,a);if(f!==s&&(f=Me(f))!==(s=Me(s))&&(f=Lt(ht(f).toLowerCase(),0))!==(s=Lt(ht(s).toLowerCase(),0)))return st(f,s)}while(o<u);return i-e|0}return At(n,t)}(n,t,!0)}function Ue(){x||(x=!0,new $e(Ge))}function Qe(n,t,r,i,e,u){return Hu(n,t,r,i,e,u=u!==b&&u)}function Ve(){}function We(n){this.h7_1=n,this.g7_1=0}function Ye(n,t){this.k7_1=n,We.call(this,n),P.o2(t,this.k7_1.o()),this.g7_1=t}function Ke(){this.n2_1=2147483639}function Ze(){Ve.call(this)}function Je(n){this.l7_1=n}function Xe(n,t){return t===n?"(this Map)":pt(t)}function nu(n,t){var r;n:{for(var i=n.s().j();i.k();){var e=i.l();if(Vt(e.a1(),t)){r=e;break n}}r=null}return r}function tu(){}function ru(n){this.m7_1=n,Ve.call(this)}function iu(){this.c3_1=null,this.d3_1=null}function eu(){}function uu(n){return n.length>0?Lr(n):ou()}function ou(){return null==I&&new su,I}function au(n){switch(n.o()){case 0:return ou();case 1:return $r(n.n(0));default:return n}}function fu(n){return n.o()-1|0}function su(){I=this,this.n7_1=new yt(-1478467534,-1720727600)}function cu(){}function hu(n,t){this.o7_1=n,this.p7_1=t}function lu(n,t){return zr(n,vt)?n.o():t}function _u(n,t){if(zr(t,vt))return n.q(t);for(var r=!1,i=t.j();i.k();){var e=i.l();n.h(e)&&(r=!0)}return r}function vu(){}function gu(n,t){this.s7_1=n,this.r7_1=n.t7_1.p(function(n,t){if(!(0<=t&&t<=n.o()))throw me("Position index "+t+" must be in range ["+Ir(0,n.o()).toString()+"].");return n.o()-t|0}(n,t))}function du(n){Ze.call(this),this.t7_1=n}function wu(n){this.v7_1=n,this.u7_1=n.w7_1.j()}function bu(n,t){this.w7_1=n,this.x7_1=t}function mu(n){for(;n.y7_1.k();){var t=n.y7_1.l();if(n.b8_1.e8_1(t)===n.b8_1.d8_1)return n.a8_1=t,n.z7_1=1,k}n.z7_1=0}function pu(n){this.b8_1=n,this.y7_1=n.c8_1.j(),this.z7_1=-1,this.a8_1=null}function ku(n,t,r){t=t===b||t,this.c8_1=n,this.d8_1=t,this.e8_1=r}function yu(){return null==T&&new qu,T}function qu(){T=this,this.f8_1=new yt(1993859828,793161749)}function ju(n,t,r){return Bu(Bu(n,r)-Bu(t,r)|0,r)}function Bu(n,t){var r=n%t|0;return r>=0?r:r+t|0}function Cu(){L=this,this.t_1=new Pu(1,0)}function xu(){return null==L&&new Cu,L}function Pu(n,t){xu(),zu.call(this,n,t,1)}function Su(n,t,r){vu.call(this),this.p8_1=r,this.q8_1=t,this.r8_1=this.p8_1>0?n<=t:n>=t,this.s8_1=this.r8_1?n:this.q8_1}function Iu(){}function zu(n,t,r){if(0===r)throw ue("Step must be non-zero.");if(-2147483648===r)throw ue("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.l8_1=n,this.m8_1=function(n,t,r){var i;if(r>0)i=n>=t?t:t-ju(t,n,r)|0;else{if(!(r<0))throw ue("Step is zero.");i=n<=t?t:t+ju(n,t,0|-r)|0}return i}(n,t,r),this.n8_1=r}function Tu(n,t,r){null!=r?n.i(r(t)):null==t||Tr(t)?n.i(t):t instanceof lt?n.y5(t.t8_1):n.i($t(t))}function Lu(n,t,r){if(n===t)return!0;if(!(r=r!==b&&r))return!1;var i=Me(n),e=Me(t);return i===e||Lt(ht(i).toLowerCase(),0)===Lt(ht(e).toLowerCase(),0)}function Eu(n,t,r,i){if(r=r!==b&&r,i=i===b?0:i,1===t.length){var e=t[0];if(0!==Et(e))return function(n,t,r,i){$u(i);var e=0,u=Mu(n,t,e,r);if(-1===u||1===i)return $r($t(n));var o=i>0,a=ui(o?rt(i,10):10);n:do{var f=$t(Mt(n,e,u));if(a.h(f),e=u+t.length|0,o&&a.o()===(i-1|0))break n;u=Mu(n,t,e,r)}while(-1!==u);var s=$t(Mt(n,e,Et(n)));return a.h(s),a}(n,e,r,i)}for(var u=function(n){return new ot(n)}(function(n,t,r,i,e){r=r===b?0:r,i=i!==b&&i,$u(e=e===b?0:e);var u,o,a=Lr(t);return new Qu(n,r,e,(u=a,o=i,function(n,t){var r=function(n,t,r,i){if(!i&&1===t.o()){var e=function(n){if(zr(n,_t))return function(n){var t;switch(n.o()){case 0:throw we("List is empty.");case 1:t=n.n(0);break;default:throw ue("List has more than one element.")}return t}(n);var t=n.j();if(!t.k())throw we("Collection is empty.");var r=t.l();if(t.k())throw ue("Collection has more than one element.");return r}(t),u=Mu(n,e,r);return u<0?null:Yu(u,e)}var o=Ir(tt(r,0),Et(n));if("string"==typeof n){var a=o.l8_1,f=o.m8_1,s=o.n8_1;if(s>0&&a<=f||s<0&&f<=a)do{var c,h=a;a=a+s|0;n:{for(var l=t.j();l.k();){var _=l.l();if(Qe(_,0,n,h,_.length,i)){c=_;break n}}c=null}if(null!=c)return Yu(h,c)}while(h!==f)}else{var v=o.l8_1,g=o.m8_1,d=o.n8_1;if(d>0&&v<=g||d<0&&g<=v)do{var w,b=v;v=v+d|0;n:{for(var m=t.j();m.k();){var p=m.l();if(Hu(p,0,n,b,p.length,i)){w=p;break n}}w=null}if(null!=w)return Yu(b,w)}while(b!==g)}return null}(n,u,t,o);return null==r?null:Yu(r.m9_1,r.n9_1.length)}))}(n,t,b,r,i)),o=ui(lu(u,10)),a=u.j();a.k();){var f=Ou(n,a.l());o.h(f)}return o}function Mu(n,t,r,i){return r=r===b?0:r,(i=i!==b&&i)||"string"!=typeof n?Nu(n,t,r,Et(n),i):n.indexOf(t,r)}function Nu(n,t,r,i,e,u){var o=(u=u!==b&&u)?it(rt(r,Ru(n)),tt(i,0)):Ir(tt(r,0),rt(i,Et(n)));if("string"==typeof n&&"string"==typeof t){var a=o.l8_1,f=o.m8_1,s=o.n8_1;if(s>0&&a<=f||s<0&&f<=a)do{var c=a;if(a=a+s|0,Qe(t,0,n,c,t.length,e))return c}while(c!==f)}else{var h=o.l8_1,l=o.m8_1,_=o.n8_1;if(_>0&&h<=l||_<0&&l<=h)do{var v=h;if(h=h+_|0,Hu(t,0,n,v,Et(t),e))return v}while(v!==l)}return-1}function Au(n){var t=0,r=Et(n)-1|0,i=!1;n:for(;t<=r;){var e=Ne(zt(n,i?r:t));if(i){if(!e)break n;r=r-1|0}else e?t=t+1|0:i=!0}return Mt(n,t,r+1|0)}function Fu(){this.u8_1=0,this.v8_1=1,this.w8_1=2}function Du(n){this.x8_1=n,this.y8_1=0,this.z8_1=0,this.a9_1=0,this.b9_1=0}function Ou(n,t){return $t(Mt(n,t.k8(),t.o8()+1|0))}function Ru(n){return Et(n)-1|0}function Hu(n,t,r,i,e,u){if(i<0||t<0||t>(Et(n)-e|0)||i>(Et(r)-e|0))return!1;var o=0;if(o<e)do{var a=o;if(o=o+1|0,!Lu(zt(n,t+a|0),zt(r,i+a|0),u))return!1}while(o<e);return!0}function $u(n){if(!(n>=0))throw ue($t("Limit must be non-negative, but was "+n));return k}function Gu(n){if(n.e9_1<0)n.c9_1=0,n.f9_1=null;else{var t;if(n.h9_1.k9_1>0?(n.g9_1=n.g9_1+1|0,t=n.g9_1>=n.h9_1.k9_1):t=!1,t||n.e9_1>Et(n.h9_1.i9_1))n.f9_1=Ir(n.d9_1,Ru(n.h9_1.i9_1)),n.e9_1=-1;else{var r=n.h9_1.l9_1(n.h9_1.i9_1,n.e9_1);if(null==r)n.f9_1=Ir(n.d9_1,Ru(n.h9_1.i9_1)),n.e9_1=-1;else{var i=r.o9(),e=r.p9();n.f9_1=function(n,t){return t<=-2147483648?xu().t_1:Ir(n,t-1|0)}(n.d9_1,i),n.d9_1=i+e|0,n.e9_1=n.d9_1+(0===e?1:0)|0}}n.c9_1=1}}function Uu(n){this.h9_1=n,this.c9_1=-1,this.d9_1=function(n,t,r){if(0>r)throw ue("Cannot coerce value to an empty range: maximum "+r+" is less than minimum 0.");return n<0?0:n>r?r:n}(n.j9_1,0,Et(n.i9_1)),this.e9_1=this.d9_1,this.f9_1=null,this.g9_1=0}function Qu(n,t,r,i){this.i9_1=n,this.j9_1=t,this.k9_1=r,this.l9_1=i}function Vu(n){this.q9_1=n}function Wu(n,t){this.m9_1=n,this.n9_1=t}function Yu(n,t){return new Wu(n,t)}function Ku(n,t){var r,i=n.className;return(r="(^|.*\\s+)"+t+"($|\\s+.*)",function(n,t){return De.call(t,n,yu()),t}(r,Ht(Yt(De)))).a7(i)}function Zu(n,t){this.r9_1=n,this.s9_1=t}function Ju(n){this.t9_1=n}function Xu(n,t,r){var i,e=Ya(),u=ho(),o=Wa().ja(t),a=ho();if(0===Et(r))i=Ua();else{var f=n.la_1,s=null==f?null:new Ju(f).y9(r,"Copy reference to the clipboard");i=null==s?Ua():s}return e.ma([u,o,a,i])}function no(n){n=n===b?null:n,this.la_1=n}function to(n,t,r){co.call(this),this.pa_1=n,this.qa_1=t,this.ra_1=r}function ro(n,t){this.ua_1=n,this.va_1=t}function io(n,t,r){r=r===b?null:r,co.call(this),this.ya_1=n,this.za_1=t,this.ab_1=r}function eo(n,t,r){r=r===b?null:r,co.call(this),this.bb_1=n,this.cb_1=t,this.db_1=r}function uo(n){co.call(this),this.eb_1=n}function oo(n){co.call(this),this.fb_1=n}function ao(n){co.call(this),this.gb_1=n}function fo(n){co.call(this),this.hb_1=n}function so(n){co.call(this),this.ib_1=n}function co(){}function ho(){return bo(),M}function lo(){return bo(),N}function _o(){return bo(),A}function vo(){return bo(),F}function go(n){return bo(),Ya().jb(cf(wo),n)}function wo(n){return bo(),n.kb(["invisible-text","text-for-copy"]),k}function bo(){D||(D=!0,M=go("`"),N=go(" "),A=go("("),F=go(")"))}function mo(n,t){co.call(this),this.lb_1=n,this.mb_1=t}function po(n){co.call(this),this.nb_1=n}function ko(n,t){co.call(this),this.ob_1=n,this.pb_1=t}function yo(n){co.call(this),this.qb_1=n}function qo(n){co.call(this),this.rb_1=n}function jo(n){co.call(this),this.sb_1=n}function Bo(n,t,r){co.call(this),this.tb_1=n,this.ub_1=t,this.vb_1=r}function Co(n){co.call(this),this.wb_1=n}function xo(n){co.call(this),this.xb_1=n}function Po(n){return n.bc_1.zb_1.o()}function So(){if(G)return k;G=!0,O=new No("Inputs",0,"Build configuration inputs"),R=new No("ByMessage",1,"Problems grouped by message"),H=new No("ByLocation",2,"Problems grouped by location"),$=new No("IncompatibleTasks",3,"Incompatible tasks")}function Io(n){Us.call(this),this.cc_1=n}function zo(n){Us.call(this),this.ec_1=n}function To(n){Us.call(this),this.fc_1=n}function Lo(n){Us.call(this),this.gc_1=n}function Eo(n){Ao.call(this),this.hc_1=n}function Mo(n,t,r,i,e,u,o,a){this.ic_1=n,this.jc_1=t,this.kc_1=r,this.lc_1=i,this.mc_1=e,this.nc_1=u,this.oc_1=o,this.pc_1=a}function No(n,t,r){mt.call(this,n,t),this.uc_1=r}function Ao(){Vs.call(this)}function Fo(n,t){var r=Va(),i=cf(Yo),e=Va().ba(cf(Ko),[]),u=function(n,t){var r,i=Va(),e=cf(ta),u=Ya().ja("Learn more about the "),o=nf();return i.ba(e,[u,o.jb(cf((r=t,function(n){return n.fd(r.xc_1),k})),t.wc_1),Ya().ja(".")])}(0,t.kc_1),o=Va().ba(cf(Zo),[Oo(0,t)]),a=Va();return r.ba(i,[e,u,o,a.ba(cf(Jo),[Go(0,ra(),t.pc_1,Po(t.nc_1)),Go(0,ia(),t.pc_1,Po(t.lc_1)),Go(0,ea(),t.pc_1,Po(t.mc_1)),Go(0,ua(),t.pc_1,Po(t.oc_1))])])}function Do(n,t){var r,i,e=Va(),u=cf(Xo);switch(t.pc_1.h1_1){case 0:r=Qo(0,t.nc_1,((i=function(n){return new To(n)}).callableName="<init>",i));break;case 3:r=Qo(0,t.oc_1,function(){var n=function(n){return new Lo(n)};return n.callableName="<init>",n}());break;case 1:r=Qo(0,t.lc_1,function(){var n=function(n){return new zo(n)};return n.callableName="<init>",n}());break;case 2:r=Qo(0,t.mc_1,function(){var n=function(n){return new Io(n)};return n.callableName="<init>",n}());break;default:nr()}return e.ba(u,[r])}function Oo(n,t){return Va().ma([$o(0,t),Ro(0,t)])}function Ro(n,t){for(var r=Va(),i=t.jc_1,e=ei(),u=0,o=i.j();o.k();){var a=o.l(),f=u;u=f+1|0,_u(e,0===Gr(f)?$r(Ho(0,a)):uu([tf().ma([]),Ho(0,a)]))}return r.ka(e)}function Ho(n,t){return Ka().ma([Js(t)])}function $o(n,t){return Qa().ma([Ks().na(t.ic_1)])}function Go(n,t,r,i){var e,u,o;return Va().ba(cf((e=i,u=t,o=r,function(n){return n.w9("group-selector"),0===e?n.w9("group-selector--disabled"):u.equals(o)?n.w9("group-selector--active"):n.x9(function(n){return function(t){return new Eo(n)}}(u)),k})),[Ya().vc(t.uc_1,[Uo(0,i)])])}function Uo(n,t){return Ya().ba(cf(na),[lo(),_o(),Ya().ja(""+t),vo()])}function Qo(n,t,r){return function(n,t,r){var i,e=Va(),u=Za();return e.ma([u.ka(Tf(t,(i=r,function(n){var t,r=n.gd().yb_1;return r instanceof io?uc(i,((t=function(n){return Vo(0,n)}).callableName="viewNode",t),n,r.ya_1,r.za_1,Ws()):r instanceof eo?uc(i,function(){var n=function(n){return Vo(0,n)};return n.callableName="viewNode",n}(),n,r.bb_1,r.cb_1,Ys()):r instanceof mo?uc(i,function(){var n=function(n){return Vo(0,n)};return n.callableName="viewNode",n}(),n,r.lb_1,r.mb_1,b,Uo(0,n.gd().zb_1.o())):r instanceof to?ec(i,n,r):uc(i,function(){var n=function(n){return Vo(0,n)};return n.callableName="viewNode",n}(),n,r)})))])}(0,t.bc_1.yc().zc(),r)}function Vo(n,t){var r;return t instanceof po?Xs((r=t,function(n){return n.id("project "),n.jd(r.nb_1),k})):t instanceof Bo?Xs(function(n){return function(t){return t.id(n.tb_1+" "),t.jd(n.ub_1),t.id(" of "),t.jd(n.vb_1),k}}(t)):t instanceof jo?Xs(function(n){return function(t){return t.id("system property "),t.jd(n.sb_1),k}}(t)):t instanceof ko?Xs(function(n){return function(t){return t.id("task "),t.jd(n.ob_1),t.id(" of type "),t.jd(n.pb_1),k}}(t)):t instanceof qo?Xs(function(n){return function(t){return t.id("bean of type "),t.jd(n.rb_1),k}}(t)):t instanceof Co?Xs(function(n){return function(t){return t.id(n.wb_1),k}}(t)):t instanceof xo?Xs(function(n){return function(t){return t.id("class "),t.jd(n.xb_1),k}}(t)):t instanceof so?Xs(function(n){return function(t){return t.id(n.ib_1),k}}(t)):t instanceof uo?Js(t.eb_1):t instanceof fo?aa(t):Ya().ja($t(t))}function Wo(n){return n.w9("report-wrapper"),k}function Yo(n){return n.w9("header"),k}function Ko(n){return n.w9("gradle-logo"),k}function Zo(n){return n.w9("title"),k}function Jo(n){return n.w9("groups"),k}function Xo(n){return n.w9("content"),k}function na(n){return n.w9("group-selector__count"),k}function ta(n){return n.w9("learn-more"),k}function ra(){return So(),O}function ia(){return So(),R}function ea(){return So(),H}function ua(){return So(),$}function oa(){}function aa(n){var t;return nf().ba(cf((t=n,function(n){return n.w9("documentation-button"),n.fd(t.hb_1),k})),[])}function fa(n,t,r){this.od_1=n,this.pd_1=t,this.qd_1=r}function sa(n,t,r){this.rd_1=n,this.sd_1=t,this.td_1=r}function ca(n,t){for(var r=xa(n),i=t.trace,e=ui(i.length),u=0,o=i.length;u<o;){var a=i[u];u=u+1|0;var f=_a(a);e.h(f)}return new fa(t,r,e)}function ha(n,t){var r,i=null==(r=t.od_1.error)?null:va(r);null==i||n.h(i)}function la(n){return function(n,t,r){var i=null==n.error?null:new io(t,r);return null==i?new eo(t,r):i}(n.od_1,new uo(n.pd_1),wa(n.od_1))}function _a(n){var t;switch(n.kind){case"Project":t=new po(n.path);break;case"Task":t=new ko(n.path,n.type);break;case"TaskPath":t=new yo(n.path);break;case"Bean":t=new qo(n.type);break;case"Field":t=new Bo("field",n.name,n.declaringType);break;case"InputProperty":t=new Bo("input property",n.name,n.task);break;case"OutputProperty":t=new Bo("output property",n.name,n.task);break;case"SystemProperty":t=new jo(n.name);break;case"PropertyUsage":t=new Bo("property",n.name,n.from);break;case"BuildLogic":t=new Co(n.location);break;case"BuildLogicClass":t=new xo(n.type);break;default:t=new so("Gradle runtime")}return t}function va(n){var t=n.parts;if(null==t){var r=n.summary;return null==r?null:new uo(xa(r))}for(var i=n.summary,e=null==i?null:xa(i),u=ei(),o=0,a=t.length;o<a;){var f=t[o];o=o+1|0;var s=da(f);null==s||u.h(s)}for(var c=Hn(u,"\n"),h=ei(),l=0,_=t.length;l<_;){var v=t[l];l=l+1|0;var g=ga(v);null==g||h.h(g)}return new to(e,c,h)}function ga(n){var t=da(n);if(null==t)return null;var r,i,e=ut(new ku(new Vu(t),!0,Ba));return new ro(e,(r=!(null==n.internalText),i=e.o(),r&&i>1?Sf():null))}function da(n){var t=n.text;return null==t?n.internalText:t}function wa(n){var t=n.documentationLink;return null==t?null:new fo(t)}function ba(n,t){return new pf(ma(n,V.wd(t),Sf()))}function ma(n,t,r){return new zf(n,function(n,t){var r,i=et(Gn(n.s()),Oa);return ut(et(new at(i,new pa(Ca)),(r=t,function(n){return ma(n.o9(),n.p9().zd_1,r)})))}(t,1===Da(t)?If():Sf()),0===Da(t)?Sf():r)}function pa(n){this.xd_1=n}function ka(n){var t=ei(),r=n.pd_1,i=Un(r.fa_1).ia_1,e=$t(Au(Tr(i)?i:tr())),u=r.yd(function(n,t){var r;if(!(t>=0))throw ue($t("Requested element count "+t+" is less than zero."));if(0===t)return Qn(n);if(zr(n,vt)){var i=n.o()-t|0;if(i<=0)return ou();if(1===i)return $r(function(n){if(zr(n,_t))return Jn(n);var t=n.j();if(!t.k())throw we("Collection is empty.");for(var r=t.l();t.k();)r=t.l();return r}(n));if(r=ui(i),zr(n,_t)){if(zr(n,Yi)){var e=t,u=n.o();if(e<u)do{var o=e;e=e+1|0,r.h(n.n(o))}while(e<u)}else for(var a=n.p(t);a.k();){var f=a.l();r.h(f)}return r}}else r=ei();for(var s=0,c=n.j();c.k();){var h=c.l();s>=t?r.h(h):s=s+1|0}return au(r)}(r.fa_1,1));return t.h(new mo(new so(e),wa(n.od_1))),t.h(new uo(u)),t.q(n.qd_1),t.j3()}function ya(n){var t=ei(),r=n.pd_1,i=r.yd(r.fa_1);return t.h(new eo(new uo(i),wa(n.od_1))),t.j3()}function qa(n){var t=ei();return t.h(la(n)),t.q(n.qd_1),ha(t,n),t.j3()}function ja(n){var t=ei();return t.q(new du(n.qd_1)),t.h(la(n)),ha(t,n),t.j3()}function Ba(n){return Et(n)>0}function Ca(n,t){return function(n,t){return n===t?0:null==n?-1:null==t?1:At(null!=n&&("string"===(i=typeof(r=n))||"boolean"===i||function(n){return"number"==typeof n||n instanceof yt}(r)||zr(r,An))?n:tr(),t);var r,i}(pt(n.o9()),pt(t.o9()))}function xa(n){var t;return Q.ud((t=n,function(n){for(var r=t,i=0,e=r.length;i<e;){var u=r[i];i=i+1|0;var o=u.text;null==o||n.id(o);var a=u.name;null==a||n.jd(a)}return k}))}function Pa(n,t){return(0!==(r=n)?r.toString():"No")+" "+Sa(t,n)+" "+Ia(n)+" found";var r}function Sa(n,t){return t<2?n:n+"s"}function Ia(n){return n<=1?"was":"were"}function za(n,t){this.wc_1=n,this.xc_1=t}function Ta(n){Ea.call(this),this.ia_1=n}function La(n,t){Ea.call(this),this.ga_1=n,this.ha_1=t}function Ea(){}function Ma(){this.hd_1=ei()}function Na(){}function Aa(n){this.fa_1=n}function Fa(){}function Da(n){return n.o()}function Oa(n){var t=n.a1(),r=n.b1();return Yu(t,new Ra(zr(r,dt)?r:tr()))}function Ra(n){this.zd_1=n}function Ha(n,t,r){var i;Ga(t,n,r),i="Component mounted at #"+n.id+".",ne(),(ne(),j).j6(i)}function $a(n){var t=document.getElementById(n);if(null==t)throw ae("'"+n+"' element missing");return t}function Ga(n,t,r){var i,e,u;i=n.ca(r),e=t,u=function(n,t,r){return function(i){return Ga(n,r,n.ea(i,t)),k}}(n,r,t),bf(),e.innerHTML="",df(e,i,u)}function Ua(){return bf(),W}function Qa(){return bf(),Y}function Va(){return bf(),K}function Wa(){return bf(),Z}function Ya(){return bf(),J}function Ka(){return bf(),X}function Za(){return bf(),nn}function Ja(){return bf(),tn}function Xa(){return bf(),rn}function nf(){return bf(),en}function tf(){return bf(),un}function rf(n){this.aa_1=n}function ef(){}function uf(){an=this,sf.call(this)}function of(){return null==an&&new uf,an}function af(n,t,r,i){t=t===b?ou():t,r=r===b?null:r,i=i===b?ou():i,sf.call(this),this.fe_1=n,this.ge_1=t,this.he_1=r,this.ie_1=i}function ff(){}function sf(){}function cf(n){bf();var t,r=ei();return n(new hf((t=r,function(n){return t.h(n),k}))),r}function hf(n){this.u9_1=n}function lf(n,t){gf.call(this),this.je_1=n,this.ke_1=t}function _f(n){gf.call(this),this.le_1=n}function vf(n,t){gf.call(this),this.me_1=n,this.ne_1=t}function gf(){}function df(n,t,r){if(bf(),t instanceof af)!function(n,t,r){var i=function(n,t,r){var i=n.createElement(t);return r(i),i}(Xt(n.ownerDocument),t,r);n.appendChild(i)}(n,t.fe_1,(e=t,u=r,function(n){for(var t=e.ge_1.j();t.k();)wf(n,t.l(),u);var r=e.he_1;null==r||function(n,t){n.appendChild(Xt(n.ownerDocument).createTextNode(t))}(n,r);for(var i=e.ie_1.j();i.k();)df(n,i.l(),u);return k}));else if(t instanceof ff){var i=t instanceof ff?t:tr();df(n,i.oe_1,function(n,t){return function(r){return n(t.pe_1(r)),k}}(r,i))}else{if(Vt(t,of()))return k;nr()}var e,u}function wf(n,t,r){var i,e;bf(),t instanceof vf?n.setAttribute(t.me_1,t.ne_1):t instanceof _f?function(n,t){for(var r=ei(),i=0,e=t.length;i<e;){var u=t[i];i=i+1|0,Ku(n,u)||r.h(u)}var o=r;if(!o.m()){var a=n.className,f=$t(Au(Tr(a)?a:tr())),s=Le();s.x5(f),0!==Et(f)&&s.x5(" "),$n(o,s," "),n.className=s.toString()}}(n,[t.le_1]):t instanceof lf?n.addEventListener(t.je_1,(i=r,e=t,function(n){return n.stopPropagation(),i(e.ke_1(n)),k})):nr()}function bf(){fn||(fn=!0,W=of(),new rf("hr"),Y=new rf("h1"),new rf("h2"),K=new rf("div"),new rf("pre"),Z=new rf("code"),J=new rf("span"),X=new rf("small"),nn=new rf("ol"),tn=new rf("ul"),rn=new rf("li"),en=new rf("a"),un=new rf("br"),new rf("p"))}function mf(n){kf.call(this),this.re_1=n}function pf(n){this.bc_1=n}function kf(){}function yf(n){return n.qe(b,b,n.ac_1.ed())}function qf(){}function jf(){if(ln)return k;ln=!0,cn=new xf("Collapsed",0),hn=new xf("Expanded",1)}function Bf(n){Pf.call(this),this.ze_1=n}function Cf(n,t,r){Pf.call(this),this.we_1=n,this.xe_1=t,this.ye_1=r}function xf(n,t){mt.call(this,n,t)}function Pf(){}function Sf(){return jf(),cn}function If(){return jf(),hn}function zf(n,t,r){t=t===b?ou():t,r=r===b?Sf():r,this.yb_1=n,this.zb_1=t,this.ac_1=r}function Tf(n,t){return ut(et(n,(r=t,function(n){return function(n,t){var r,i=n.gd(),e=Xa(),u=t(n),o=i.zb_1;r=null==(i.ac_1.equals(If())&&!o.m()?o:null)?null:function(n,t){return Ja().ka(function(n,t){return Tf(n.zc(),t)}(n,t))}(n,t);var a=r;return e.ma([u,null==a?Ua():a])}(n,r)})));var r}function Lf(){if(yn)return k;yn=!0,wn=new Ef("ByMessage",0,"Messages"),bn=new Ef("ByGroup",1,"Group"),mn=new Ef("ByFileLocation",2,"File Locations"),pn=new Ef("ByPluginLocation",3,"Plugin Locations"),kn=new Ef("ByTaskLocation",4,"Task Locations")}function Ef(n,t,r){mt.call(this,n,t),this.gf_1=r}function Mf(n,t){this.hf_1=n,this.if_1=t}function Nf(n,t){this.jf_1=n,this.kf_1=t}function Af(n,t,r){ss();for(var i=ei(),e=Ui(),u=0,o=n.length;u<o;){var a=n[u];u=u+1|0;var f=a.locations;null==f||0===f.length?i.h(Uf(a)):r(a,e)||i.h(Uf(a))}var s=function(n,t,r){ss();for(var i=n.f1(),e=ui(lu(i,10)),u=i.j();u.k();){var o=u.l().m9_1;e.h(o)}var a=Vn(e);return t.m()||a.h(new zf(new hs(Q.vd("no location"),!0),t)),r>0&&a.h(Df(r)),a}(e,i,t);return new pf(new zf(new cs("text"),s))}function Ff(n){return ss(),t=n,function(n,r){var i,e=n.locations;if(null==e)i=null;else{for(var u=ei(),o=0,a=e.length;o<a;){var f=e[o];o=o+1|0,null!=t(f)&&u.h(f)}i=u}var s,c=i;if(null==c||c.m())s=!1;else{for(var h=c.j();h.k();){var l=h.l();Of(r,Xt(t(l)),n,l)}s=!0}return s};var t}function Df(n){return ss(),new zf(new uo(Q.vd(n+" more problem"+(n>1?"s have":" has")+" been skipped")))}function Of(n,t,r,i){ss();var e,u,o=n.e1(t);if(null==o){var a=ei(),f=Yu(new zf(new hs(Q.ud((u=t,function(n){return n.jd(u),k}))),a,If()),a);n.b3(t,f),e=f}else e=o;e.n9_1.h(Uf(r,i))}function Rf(n,t,r,i){var e,u;if(t=t===b?ei():t,r=r===b?Ui():r,i===b){var o=(ss(),dn);u=o+1|0,ss(),dn=u,e=o}else e=i;i=e,this.lf_1=n,this.mf_1=t,this.nf_1=r,this.of_1=i}function Hf(n,t){if(ss(),t.m())return null;for(var r,i=n,e=null,u=t.j();u.k();){var o=u.l();r=e;var a,f=i,s=o.if_1+" ("+o.hf_1+")",c=f.e1(s);if(null==c){var h=ei(),l=new Rf(new zf(new hs(Q.ud(ns(o))),h,If()),h);f.b3(s,l),a=l}else a=c;e=a,null==r||Xt(r).mf_1.y(Xt(e).lf_1)||Xt(r).mf_1.h(Xt(e).lf_1),i=Xt(e).nf_1}return e}function $f(n,t){if(ss(),n.o()===t.length){var r,i=function(n,t){var r=t.length,i=lu(n,10),e=ui(Math.min(i,r)),u=0,o=n.j();n:for(;o.k();){var a=o.l();if(u>=r)break n;var f=u;u=f+1|0;var s=Yu(a,t[f]);e.h(s)}return e}(n,t);n:if(zr(i,vt)&&i.m())r=!0;else{for(var e=i.j();e.k();){var u=e.l();if(u.m9_1.hf_1!==u.n9_1.name||u.m9_1.if_1!==u.n9_1.displayName){r=!1;break n}}r=!0}return r}return!1}function Gf(n){return ss(),On(n,":",b,b,b,b,ts)}function Uf(n,t,r){t=t===b?null:t,r=r!==b&&r,ss();var i=function(n,t,r){t=t===b?null:t,r=r!==b&&r,ss();var i=Wf(function(n,t){return ss(),n&&null!=t.contextualLabel?Xt(t.contextualLabel):Qf(t)}(r,n),t).be();return Vf(n,new uo(i))}(n,t,r),e=function(n,t,r){r=r!==b&&r,ss();var i,e=n.problemDetails;if(null==e)i=null;else{var u,o=e[0].text,a=null==o?null:Eu(o,["\n"]);if(null==a)u=null;else{for(var f=ui(lu(a,10)),s=a.j();s.k();){var c=s.l(),h=Kf(n)?Q.ud(rs(c)):Q.vd(c);f.h(h)}u=f}var l,_=u;if(null==_)l=null;else{for(var v=ui(lu(_,10)),g=_.j();g.k();){var d=new zf(new uo(g.l()));v.h(d)}l=v}var w=null==l?null:Vn(l);i=null==w?ei():w}var m=i,p=null==m?ei():m;r||null==n.contextualLabel||p.h(new zf(new uo(Q.vd(Xt(n.contextualLabel)))));var k=function(n){ss();var t=n.solutions;if(null==t||0===t.length)return null;for(var r=new ao(Q.vd("Solutions")),i=Xt(n.solutions),e=ui(i.length),u=0,o=i.length;u<o;){var a=i[u];u=u+1|0;var f=new zf(new oo(xa(a)));e.h(f)}return new zf(r,e)}(n);null==k||p.h(k);var y,q=n.error,j=null==q?null:va(q);if(null==j||p.h(new zf(j)),t){var B=n.locations;y=!(null==B||0===B.length)}else y=!1;return y&&p.h(function(n){ss();var t,r=n.locations;if(null==r)t=null;else{for(var i=ui(r.length),e=0,u=r.length;e<u;){var o=r[e];e=e+1|0;var a=new zf(new uo(Q.ud(is(o))));i.h(a)}t=i}var f=t;return new zf(new so("Locations"),null==f?ou():f)}(n)),p}(n,null==t,r);return new zf(i,e)}function Qf(n){return ss(),function(n){if(0===n.length)throw we("Array is empty.");return n[Rn(n)]}(n.problemId).displayName}function Vf(n,t,r){r=r===b?null:r,ss();var i,e=n.documentationLink,u=null==e?null:new fo(e);switch(n.severity){case"WARNING":i=new eo(t,u,r);break;case"ERROR":i=new io(t,u,r);break;case"ADVICE":i=new ls(t,u,r);break;default:console.error("no severity "+n.severity),i=t}return i}function Wf(n,t){t=t===b?null:t,ss();var r,i=new Ma;if(i.id(n),null==t);else if(null!=t.line){var e=Yf(t);i.ae(e+(r=t,ss(),null==r.line||null==r.length?"":"-"+r.length),""+t.path+e)}else null!=t.taskPath?i.jd(Xt(t.taskPath)):null!=t.pluginId&&i.jd(Xt(t.pluginId));return i}function Yf(n){var t;if(ss(),null==n.line)t=null;else{var r,i=":"+n.line,e=n.column;t=i+(null==(r=null==e?null:":"+e)?"":r)}return null==t?"":t}function Kf(n){var t;ss();var r,i=n.problemId;n:{for(var e=0,u=i.length;e<u;){var o=i[e];if(e=e+1|0,"compilation"===o.name){r=o;break n}}r=null}if(null!=r){var a,f=n.problemId;n:{for(var s=0,c=f.length;s<c;){var h=f[s];if(s=s+1|0,"java"===h.name){a=h;break n}}a=null}t=!(null==a)}else t=!1;return t}function Zf(n){return ss(),n.path}function Jf(n){return ss(),n.pluginId}function Xf(n){return ss(),n.taskPath}function ns(n){return function(t){return t.id(n.if_1),t.jd(n.hf_1),k}}function ts(n){return ss(),n.name}function rs(n){return function(t){return t.ae(function(n,t,r,i){i=i!==b&&i;var e=new RegExp(Fe().t6(" "),i?"gui":"gu"),u=Fe().u6(" ");return n.replace(e,u)}(n),""),k}}function is(n){return function(t){var r;return t.id("- "),t.jd((r=n,ss(),null!=r.path?""+r.path+Yf(r):null!=r.taskPath?Xt(r.taskPath):null!=r.pluginId?Xt(r.pluginId):"<undefined>")),k}}function es(){return Lf(),wn}function us(){return Lf(),bn}function os(){return Lf(),mn}function as(){return Lf(),pn}function fs(){return Lf(),kn}function ss(){qn||(qn=!0,_n=Ff(Zf),vn=Ff(Jf),gn=Ff(Xf),dn=0)}function cs(n){_s.call(this),this.pf_1=n}function hs(n,t){t=t!==b&&t,_s.call(this),this.qf_1=n,this.rf_1=t}function ls(n,t,r){t=t===b?null:t,co.call(this),this.sf_1=n,this.tf_1=t,this.uf_1=r}function _s(){co.call(this)}function vs(n){Us.call(this),this.vf_1=n}function gs(n){Us.call(this),this.wf_1=n}function ds(n){Us.call(this),this.xf_1=n}function ws(n){Us.call(this),this.yf_1=n}function bs(n){Us.call(this),this.zf_1=n}function ms(n){ks.call(this),this.ag_1=n}function ps(n,t,r,i,e,u,o,a,f,s){this.bg_1=n,this.cg_1=t,this.dg_1=r,this.eg_1=i,this.fg_1=e,this.gg_1=u,this.hg_1=o,this.ig_1=a,this.jg_1=f,this.kg_1=s}function ks(){Vs.call(this)}function ys(n,t){var r=ei();Po(t.eg_1)>0&&r.h(Ps(0,es(),t.kg_1,t.jg_1)),Po(t.fg_1)>0&&r.h(Ps(0,us(),t.kg_1,t.jg_1)),Po(t.gg_1)>0&&r.h(Ps(0,os(),t.kg_1,t.jg_1)),Po(t.hg_1)>0&&r.h(Ps(0,as(),t.kg_1,t.jg_1)),Po(t.ig_1)>0&&r.h(Ps(0,fs(),t.kg_1,t.jg_1));var i=Va(),e=cf(Ls),u=Va().ba(cf(Es),[]),o=function(n,t){var r,i=Va(),e=cf(Ds),u=Ya().ja("Learn more about "),o=nf();return i.ba(e,[u,o.jb(cf((r=t,function(n){return n.fd(r.xc_1),k})),t.wc_1),Ya().ja(".")])}(0,t.dg_1),a=Va().ba(cf(Ms),[js(0,t)]),f=Va();return i.ba(e,[u,o,a,f.de(cf(Ns),r)])}function qs(n,t){var r,i,e=Va(),u=cf(As);switch(t.kg_1.h1_1){case 0:r=Ss(0,t.eg_1,((i=function(n){return new vs(n)}).callableName="<init>",i));break;case 1:r=Ss(0,t.fg_1,function(){var n=function(n){return new gs(n)};return n.callableName="<init>",n}());break;case 2:r=Ss(0,t.gg_1,function(){var n=function(n){return new ds(n)};return n.callableName="<init>",n}());break;case 3:r=Ss(0,t.hg_1,function(){var n=function(n){return new ws(n)};return n.callableName="<init>",n}());break;case 4:r=Ss(0,t.ig_1,function(){var n=function(n){return new bs(n)};return n.callableName="<init>",n}());break;default:nr()}return e.ba(u,[r])}function js(n,t){return Va().ma([xs(0,t),Bs(0,t)])}function Bs(n,t){for(var r=Va(),i=t.cg_1,e=ei(),u=0,o=i.j();o.k();){var a=o.l(),f=u;u=f+1|0,_u(e,0===Gr(f)?$r(Cs(Hs(),a)):uu([tf().ma([]),Cs(Hs(),a)]))}return r.ka(e)}function Cs(n,t){return Ka().ma([Js(t)])}function xs(n,t){return Qa().ma([Ks().na(t.bg_1)])}function Ps(n,t,r,i){var e,u,o,a;return Va().ba(cf((e=i,u=t,o=r,function(n){return n.w9("group-selector"),0===e?n.w9("group-selector--disabled"):u.equals(o)?n.w9("group-selector--active"):n.x9(function(n){return function(t){return new ms(n)}}(u)),k})),[Ya().vc(t.gf_1,[(a=i,Ya().ba(cf(Fs),[lo(),_o(),Ya().ja(""+a),vo()]))])])}function Ss(n,t,r){return function(n,t,r){var i,e=Va(),u=Za();return e.ma([u.ka(Tf(t,(i=r,function(n){return function(n,t,r,i){var e,u;return t instanceof cs?Js(Q.vd(t.pf_1)):t instanceof hs?Va().ba(cf((u=t,function(n){return u.rf_1&&n.w9("uncategorized"),k})),[Va().ma([nc(r,i),Js(t.qf_1)])]):t instanceof to?ec(i,r,t):t instanceof uo?Js(t.eb_1):t instanceof oo?Va().ma([(dc(),Pn),Js(t.fb_1)]):t instanceof ao?Va().ma([nc(r,i),Js(t.gb_1)]):t instanceof io?uc(i,((e=function(n){return Is(0,n)}).callableName="viewIt",e),r,t.ya_1,t.za_1,Ws(),zs(0,t.ab_1)):t instanceof ls?uc(i,function(){var n=function(n){return Is(0,n)};return n.callableName="viewIt",n}(),r,t.sf_1,t.tf_1,(dc(),Cn),zs(0,t.uf_1)):t instanceof eo?uc(i,function(){var n=function(n){return Is(0,n)};return n.callableName="viewIt",n}(),r,t.bb_1,t.cb_1,Ys(),zs(0,t.db_1)):t instanceof so?Va().ma([nc(r,i),Js(Q.vd(t.ib_1))]):Ya().ja("Unknown node type viewNode: "+$t(t))}(Hs(),n.gd().yb_1,n,i)})))])}(0,t.bc_1.yc().zc(),r)}function Is(n,t){var r;if(t instanceof fo)r=aa(t);else if(t instanceof so)r=Js(Q.vd(t.ib_1));else if(t instanceof uo)r=Js(t.eb_1);else{var i="Unknown node type viewIt: "+$t(t);console.error(i),r=Ya().ja(i)}return r}function zs(n,t){return null==t?Ua():Ya().ba(cf(Os),[lo(),_o(),Ya().ja(""+t),vo()])}function Ts(n){return n.w9("report-wrapper"),k}function Ls(n){return n.w9("header"),k}function Es(n){return n.w9("gradle-logo"),k}function Ms(n){return n.w9("title"),k}function Ns(n){return n.w9("groups"),k}function As(n){return n.w9("content"),k}function Fs(n){return n.w9("group-selector__count"),k}function Ds(n){return n.w9("learn-more"),k}function Os(n){return n.w9("group-selector__count"),k}function Rs(){jn=this,document.title="Gradle - Problems Report"}function Hs(){return null==jn&&new Rs,jn}function $s(n,t,r){return n.te(t.dc().se(),r)}function Gs(n){Vs.call(this),this.ld_1=n}function Us(){Vs.call(this)}function Qs(n,t){Vs.call(this),this.ad_1=n,this.bd_1=t}function Vs(){}function Ws(){return dc(),Bn}function Ys(){return dc(),xn}function Ks(){return dc(),Sn}function Zs(){return dc(),In}function Js(n){return dc(),Zs().na(n)}function Xs(n){return dc(),Zs().na(Q.ud(n))}function nc(n,t){return dc(),n.gd().cf()?oc(n,t):function(n){return dc(),Ya().jb(cf(vc),ac(n))}(n)}function tc(n,t,r,i){var e,u,o;return dc(),Ya().jb(cf((e=r,u=t,o=i,function(n){return n.w9("java-exception-part-toggle"),n.x9(function(n,t){return function(r){return new Qs(n,t())}}(u,o)),n.v9("Click to "+function(n){var t;switch(dc(),n.h1_1){case 0:t="show";break;case 1:t="hide";break;default:nr()}return t}(e)),k})),"("+n+" internal "+Sa("line",n)+" "+function(n){var t;switch(dc(),n.h1_1){case 0:t="hidden";break;case 1:t="shown";break;default:nr()}return t}(r)+")")}function rc(n,t){t=t===b?Ua():t,dc();for(var r=Ja(),i=ui(lu(n,10)),e=0,u=n.j();u.k();){var o=e;e=o+1|0;var a=ic(u.l(),0===Gr(o)?t:Ua());i.h(a)}return r.ka(i)}function ic(n,t){return t=t===b?Ua():t,dc(),Xa().ma([Wa().ja(n),t])}function ec(n,t,r){dc();var i,e,u,o=Va(),a=oc(t,n),f=Ya().ja("Exception"),s=Ya().ma([(dc(),zn).y9(r.qa_1,"Copy exception to the clipboard")]),c=null==r.pa_1?null:Ya().ja(" "),h=null==c?Ua():c,l=r.pa_1,_=null==l?null:Js(l),v=null==_?Ua():_;switch(t.gd().ac_1.h1_1){case 0:i=Ua();break;case 1:i=function(n,t){dc();for(var r=Va(),i=cf(gc),e=n.ra_1,u=ui(lu(e,10)),o=0,a=e.j();a.k();){var f=a.l(),s=o;o=s+1|0;var c,h=Gr(s);if(null!=f.va_1){var l,_=tc(f.ua_1.o(),h,f.va_1,t),v=f.va_1;switch(null==v?-1:v.h1_1){case 0:l=rc(Kn(f.ua_1,1),_);break;case 1:l=rc(f.ua_1,_);break;default:nr()}c=l}else c=rc(f.ua_1);var g=c;u.h(g)}return r.de(i,u)}(r,(e=n,u=t,function(){return e(new mf(u))}));break;default:nr()}return o.ma([a,f,s,h,v,i])}function uc(n,t,r,i,e,u,o){e=e===b?null:e,u=u===b?Ua():u,o=o===b?Ua():o,dc();var a=Va(),f=nc(r,n),s=t(i),c=null==e?null:t(e);return a.ma([f,u,s,null==c?Ua():c,o])}function oc(n,t){var r,i;return dc(),Ya().jb(cf((r=n,i=t,function(n){return n.kb(["invisible-text","tree-btn"]),r.gd().ac_1===Sf()&&n.w9("collapsed"),r.gd().ac_1===If()&&n.w9("expanded"),n.v9("Click to "+function(n){var t;switch(dc(),n.h1_1){case 0:t="expand";break;case 1:t="collapse";break;default:nr()}return t}(r.gd().ac_1)),n.x9(function(n,t){return function(r){return n(new mf(t))}}(i,r)),k})),ac(n))}function ac(n){return dc(),function(n,t){var r;if(!(t>=0))throw ue($t("Count 'n' must be non-negative, but was "+t+"."));switch(t){case 0:r="";break;case 1:r=$t(n);break;default:var i="";if(0!==Et(n))for(var e=$t(n),u=t;1&~u||(i+=e),0!=(u=u>>>1|0);)e+=e;return i}return r}("    ",n.af()-1|0)+"- "}function fc(n){return dc(),n.kb(["invisible-text","error-icon"]),k}function sc(n){return dc(),n.kb(["invisible-text","advice-icon"]),k}function cc(n){return dc(),n.kb(["invisible-text","warning-icon"]),k}function hc(n){return dc(),n.kb(["invisible-text","enum-icon"]),k}function lc(n){return dc(),new Gs(n)}function _c(n){return dc(),new Gs(n)}function vc(n){return dc(),n.kb(["invisible-text","leaf-icon"]),k}function gc(n){return dc(),n.w9("java-exception"),k}function dc(){if(!Tn){Tn=!0;var n=Ya();Bn=n.jb(cf(fc),"[error] ");var t=Ya();Cn=t.jb(cf(sc),"[advice] ");var r=Ya();xn=r.jb(cf(cc),"[warn]  ");var i=Ya();Pn=i.jb(cf(hc),"[enum]  "),Sn=new no,In=new no(lc),zn=new Ju(_c)}}return xr(Nn,"CharSequence"),xr(An,"Comparable"),Br(Fn,"Number"),Br(nt),Br(ot),Br(at),Br(lt,"Char",b,b,[An]),xr(vt,"Collection"),xr(_t,"List",b,b,[vt]),xr(gt,"Entry"),xr(dt,"Map"),xr(wt,"Set",b,b,[vt]),Pr(bt),Br(mt,"Enum",b,b,[An]),Pr(kt),Br(yt,"Long",b,Fn,[Fn,An]),xr(jt,"FunctionAdapter"),Br(Bt),Cr(Nr,"Letter"),Cr(Fr,"OtherLowercase"),xr(Or,"Comparator"),Cr(Rr,"Unit"),Br(Ve,"AbstractCollection",b,b,[vt]),Br(Vr,"AbstractMutableCollection",b,Ve,[Ve,vt]),Br(Wr,"IteratorImpl"),Br(Yr,"ListIteratorImpl",b,Wr),Br(Kr,"AbstractMutableList",b,Vr,[Vr,vt,_t]),Br(iu,"AbstractMap",b,b,[dt]),Br(Zr,"AbstractMutableMap",b,iu,[iu,dt]),Br(Jr,"AbstractMutableSet",b,Vr,[Vr,wt,vt]),Pr(ri),xr(Yi,"RandomAccess"),Br(fi,"ArrayList",ei,Kr,[Kr,vt,_t,Yi]),Br(_i,"HashMap",li,Zr,[Zr,dt]),Br(vi,"HashMapValues",b,Vr,[vt,Vr]),Br(di,"HashMapEntrySetBase",b,Jr,[wt,vt,Jr]),Br(gi,"HashMapEntrySet",b,di),Br(wi),Br(bi,"HashMapValuesDefault",b,Vr),Br(yi,"HashSet",function(){return pi(Ht(Yt(yi)))},Jr,[Jr,wt,vt]),Pr(Ai),Br(Fi,"Itr"),Br(Di,"KeysItr",b,Fi),Br(Oi,"ValuesItr",b,Fi),Br(Ri,"EntriesItr",b,Fi),Br(Hi,"EntryRef",b,b,[gt]),xr(Gi,"InternalMap"),Br($i,"InternalHashMap",Ci,b,[Gi]),Br(Qi,"LinkedHashMap",Ui,_i,[_i,dt]),Br(Wi,"LinkedHashSet",Vi,yi,[yi,wt,vt]),Br(Ki,"BaseOutput"),Br(Zi,"NodeJsOutput",b,Ki),Br(Xi,"BufferedOutput",Xi,Ki),Br(Ji,"BufferedOutputToConsoleLog",Ji,Xi),Br(ee,"Exception",function n(){var t=te(Ht(Yt(ee)));return Wt(t,n),t},Error),Br(ge,"RuntimeException",function n(){var t=le(Ht(Yt(ge)));return Wt(t,n),t},ee),Br(oe,"IllegalArgumentException",function n(){var t,r=(le(t=Ht(Yt(oe))),oe.call(t),t);return Wt(r,n),r},ge),Br(fe,"IllegalStateException",function n(){var t,r=(le(t=Ht(Yt(fe))),fe.call(t),t);return Wt(r,n),r},ge),Br(he,"UnsupportedOperationException",se,ge),Br(be,"NoSuchElementException",de,ge),Br(pe,"IndexOutOfBoundsException",function n(){var t,r=(le(t=Ht(Yt(pe))),pe.call(t),t);return Wt(r,n),r},ge),Br(ye,"ArithmeticException",function n(){var t,r=(le(t=Ht(Yt(ye))),ye.call(t),t);return Wt(r,n),r},ge),Br(Be,"ConcurrentModificationException",qe,ge),Br(xe,"NullPointerException",Ce,ge),Br(Se,"NoWhenBranchMatchedException",Pe,ge),Br(ze,"ClassCastException",Ie,ge),Br(Ee,"StringBuilder",Le,b,[Nn]),Pr(Ae),Br(De,"Regex"),Br($e,"sam$kotlin_Comparator$0",b,b,[Or,jt]),Br(We,"IteratorImpl"),Br(Ye,"ListIteratorImpl",b,We),Pr(Ke),Br(Ze,"AbstractList",b,Ve,[Ve,_t]),Br(Je),Pr(tu),Br(ru,b,b,Ve),Pr(eu),Cr(su,"EmptyList",b,b,[_t,Yi]),Cr(cu,"EmptyIterator"),Br(hu,"ArrayAsCollection",b,b,[vt]),Br(vu,"IntIterator"),Br(gu),Br(du,"ReversedListReadOnly",b,Ze),Br(wu),Br(bu,"TransformingSequence"),Br(pu),Br(ku,"FilteringSequence"),Cr(qu,"EmptySet",b,b,[wt]),Pr(Cu),Br(zu,"IntProgression"),Br(Pu,"IntRange",b,zu),Br(Su,"IntProgressionIterator",b,vu),Pr(Iu),Cr(Fu,"State"),Br(Du,"LinesIterator"),Br(Uu),Br(Qu,"DelimitedRangesSequence"),Br(Vu),Br(Wu,"Pair"),Br(Zu,"Model"),Br(Ju,"CopyButtonComponent"),Br(no,"PrettyTextComponent",no),Br(co,"ProblemNode",co),Br(to,"Exception",b,co),Br(ro,"StackTracePart"),Br(io,"Error",b,co),Br(eo,"Warning",b,co),Br(uo,"Message",b,co),Br(oo,"ListElement",b,co),Br(ao,"TreeNode",b,co),Br(fo,"Link",b,co),Br(so,"Label",b,co),Br(mo,"Info",b,co),Br(po,"Project",b,co),Br(ko,"Task",b,co),Br(yo,"TaskPath",b,co),Br(qo,"Bean",b,co),Br(jo,"SystemProperty",b,co),Br(Bo,"Property",b,co),Br(Co,"BuildLogic",b,co),Br(xo,"BuildLogicClass",b,co),Br(Vs,"BaseIntent",Vs),Br(Us,"TreeIntent",b,Vs),Br(Io,"TaskTreeIntent",b,Us),Br(zo,"MessageTreeIntent",b,Us),Br(To,"InputTreeIntent",b,Us),Br(Lo,"IncompatibleTaskTreeIntent",b,Us),Br(Ao,"Intent",b,Vs),Br(Eo,"SetTab",b,Ao),Br(Mo,"Model"),Br(No,"Tab",b,mt),Cr(oa,"ConfigurationCacheReportPage"),Br(fa,"ImportedProblem"),Br(sa,"ImportedDiagnostics"),Br(pa,"sam$kotlin_Comparator$0",b,b,[Or,jt]),Br(za,"LearnMore"),Br(Ea,"Fragment"),Br(Ta,"Text",b,Ea),Br(La,"Reference",b,Ea),Br(Ma,"Builder",Ma),Pr(Na),Br(Aa,"PrettyText"),Pr(Fa),Br(Ra,"Trie"),Br(rf,"ViewFactory"),Pr(ef),Br(sf,"View"),Cr(uf,"Empty",b,sf),Br(af,"Element",b,sf),Br(ff,"MappedView",b,sf),Br(hf,"Attributes"),Br(gf,"Attribute"),Br(lf,"OnEvent",b,gf),Br(_f,"ClassName",b,gf),Br(vf,"Named",b,gf),Br(kf,"Intent"),Br(mf,"Toggle",b,kf),Br(pf,"Model"),Cr(qf,"TreeView"),Br(Pf,"Focus"),Br(Bf,"Original",b,Pf),Br(Cf,"Child",b,Pf),Br(xf,"ViewState",b,mt),Br(zf,"Tree"),Br(Ef,"Tab",b,mt),Br(Mf,"ProblemIdElement"),Br(Nf,"ProblemSummary"),Br(Rf,"ProblemNodeGroup"),Br(_s,"ProblemApiNode",b,co),Br(cs,"Text",b,_s),Br(hs,"ProblemIdNode",b,_s),Br(ls,"Advice",b,co),Br(vs,"MessageTreeIntent",b,Us),Br(gs,"ProblemIdTreeIntent",b,Us),Br(ds,"FileLocationTreeIntent",b,Us),Br(ws,"PluginLocationTreeIntent",b,Us),Br(bs,"TaskLocationTreeIntent",b,Us),Br(ks,"Intent",b,Vs),Br(ms,"SetTab",b,ks),Br(ps,"Model"),Cr(Rs,"ProblemsReportPage"),Br(Gs,"Copy",b,Vs),Br(Qs,"ToggleStackTracePart",b,Vs),Yt(nt).j=function(){return this.r_1.j()},Yt(ot).j=function(){return this.v_1.j()},Yt(at).j=function(){var n,t,r=function(n,t){for(var r=n.j();r.k();){var i=r.l();t.h(i)}return t}(this.w_1,ei());return n=r,t=this.x_1,function(n,t){if(n.o()<=1)return k;var r=Ur(n);!function(n,t){if(function(){if(null!=q)return q;q=!1;var n=[],t=0;if(t<600)do{var r=t;t=t+1|0,n.push(r)}while(t<600);var i=ci;n.sort(i);var e=1,u=n.length;if(e<u)do{var o=e;e=e+1|0;var a=n[o-1|0],f=n[o];if((3&a)==(3&f)&&a>=f)return!1}while(e<u);return q=!0,!0}()){var r=(i=t,function(n,t){return i.compare(n,t)});n.sort(r)}else!function(n,t,r,i){var e=n.length,u=si(n,Array(e),0,r,i);if(u!==n){var o=0;if(o<=r)do{var a=o;o=o+1|0,n[a]=u[a]}while(a!==r)}}(n,0,Rn(n),t);var i}(r,t);var i=0,e=r.length;if(i<e)do{var u=i;i=i+1|0,n.z1(u,r[u])}while(i<e)}(n,t),r.j()},Yt(mt).i1=function(n){return At(this.h1_1,n.h1_1)},Yt(mt).d=function(n){return this.i1(n instanceof mt?n:tr())},Yt(mt).equals=function(n){return this===n},Yt(mt).hashCode=function(){return Ot(this)},Yt(mt).toString=function(){return this.g1_1},Yt(yt).p1=function(n){return ar(this,n)},Yt(yt).d=function(n){return this.p1(n instanceof yt?n:tr())},Yt(yt).q1=function(n){return fr(this,n)},Yt(yt).r1=function(n){return function(n,t){if(qr(),dr(t))throw ie("division by zero");if(dr(n))return rr();if(_r(n,ur())){if(_r(t,ir())||_r(t,er()))return ur();if(_r(t,ur()))return ir();var r=function(n){qr();return new yt(n.n1_1>>>1|n.o1_1<<31,n.o1_1>>1)}(n),i=function(n){qr();return new yt(n.n1_1<<1,n.o1_1<<1|n.n1_1>>>31)}(r.r1(t));return _r(i,rr())?gr(t)?ir():er():fr(i,sr(n,cr(t,i)).r1(t))}if(_r(t,ur()))return rr();if(gr(n))return gr(t)?br(n).r1(br(t)):br(br(n).r1(t));if(gr(t))return br(n.r1(br(t)));for(var e=rr(),u=n;yr(u,t);){for(var o=hr(u)/hr(t),a=Math.max(1,Math.floor(o)),f=Math.ceil(Math.log(a)/Math.LN2),s=f<=48?1:Math.pow(2,f-48),c=pr(a),h=cr(c,t);gr(h)||kr(h,u);)h=cr(c=pr(a-=s),t);dr(c)&&(c=ir()),e=fr(e,c),u=sr(u,h)}return e}(this,n)},Yt(yt).s1=function(){return this.t1().q1(new yt(1,0))},Yt(yt).t1=function(){return new yt(~this.n1_1,~this.o1_1)},Yt(yt).u1=function(){return this.n1_1},Yt(yt).v1=function(){return hr(this)},Yt(yt).toString=function(){return lr(this,10)},Yt(yt).equals=function(n){return n instanceof yt&&_r(this,n)},Yt(yt).hashCode=function(){return qr(),this.n1_1^this.o1_1},Yt(yt).valueOf=function(){return this.v1()},Yt(Bt).k=function(){return!(this.x1_1===this.y1_1.length)},Yt(Bt).l=function(){if(this.x1_1===this.y1_1.length)throw we(""+this.x1_1);var n=this.x1_1;return this.x1_1=n+1|0,this.y1_1[n]},Yt(Rr).toString=function(){return"kotlin.Unit"},Yt(Vr).q=function(n){this.f2();for(var t=!1,r=n.j();r.k();){var i=r.l();this.h(i)&&(t=!0)}return t},Yt(Vr).toJSON=function(){return this.toArray()},Yt(Vr).f2=function(){},Yt(Wr).k=function(){return this.g2_1<this.i2_1.o()},Yt(Wr).l=function(){if(!this.k())throw de();var n=this.g2_1;return this.g2_1=n+1|0,this.h2_1=n,this.i2_1.n(this.h2_1)},Yt(Yr).p2=function(){return this.g2_1>0},Yt(Yr).q2=function(){if(!this.p2())throw de();return this.g2_1=this.g2_1-1|0,this.h2_1=this.g2_1,this.m2_1.n(this.h2_1)},Yt(Kr).h=function(n){return this.f2(),this.s2(this.o(),n),!0},Yt(Kr).j=function(){return new Wr(this)},Yt(Kr).y=function(n){return this.t2(n)>=0},Yt(Kr).t2=function(n){var t;n:{for(var r=0,i=this.j();i.k();){if(Vt(i.l(),n)){t=r;break n}r=r+1|0}t=-1}return t},Yt(Kr).p=function(n){return new Yr(this,n)},Yt(Kr).equals=function(n){return n===this||!(null==n||!zr(n,_t))&&P.u2(this,n)},Yt(Kr).hashCode=function(){return P.v2(this)},Yt(Zr).a3=function(){return new bi(this)},Yt(Zr).f1=function(){var n,t=this.z2_1;if(null==t){var r=this.a3();this.z2_1=r,n=r}else n=t;return n},Yt(Zr).f2=function(){},Yt(Jr).equals=function(n){return n===this||!(null==n||!zr(n,wt))&&S.f3(this,n)},Yt(Jr).hashCode=function(){return S.g3(this)},Yt(fi).j3=function(){return this.f2(),this.g_1=!0,this.o()>0?this:ii().h3_1},Yt(fi).o=function(){return this.f_1.length},Yt(fi).n=function(n){var t=this.f_1[ai(this,n)];return null==t||null!=t?t:tr()},Yt(fi).z1=function(n,t){this.f2(),ai(this,n);var r=this.f_1[n];return this.f_1[n]=t,null==r||null!=r?r:tr()},Yt(fi).h=function(n){return this.f2(),this.f_1.push(n),this.r2_1=this.r2_1+1|0,!0},Yt(fi).s2=function(n,t){this.f2(),this.f_1.splice(function(n,t){return P.o2(t,n.o()),t}(this,n),0,t),this.r2_1=this.r2_1+1|0},Yt(fi).q=function(n){if(this.f2(),n.m())return!1;for(var t,r,i,e=(t=this,r=n.o(),i=t.o(),t.f_1.length=t.o()+r|0,i),u=0,o=n.j();o.k();){var a=o.l(),f=u;u=f+1|0;var s=Gr(f);this.f_1[e+s|0]=a}return this.r2_1=this.r2_1+1|0,!0},Yt(fi).t2=function(n){return function(n,t){if(null==t){var r=0,i=n.length-1|0;if(r<=i)do{var e=r;if(r=r+1|0,null==n[e])return e}while(r<=i)}else{var u=0,o=n.length-1|0;if(u<=o)do{var a=u;if(u=u+1|0,Vt(t,n[a]))return a}while(u<=o)}return-1}(this.f_1,n)},Yt(fi).toString=function(){return On(this.f_1,", ","[","]",b,b,Nt)},Yt(fi).k3=function(){return[].slice.call(this.f_1)},Yt(fi).toArray=function(){return this.k3()},Yt(fi).f2=function(){if(this.g_1)throw se()},Yt(_i).c1=function(n){return this.p3_1.r3(n)},Yt(_i).d1=function(n){return this.p3_1.d1(n)},Yt(_i).a3=function(){return new vi(this.p3_1)},Yt(_i).s=function(){var n,t=this.q3_1;if(null==t){var r=new gi(this.p3_1);this.q3_1=r,n=r}else n=t;return n},Yt(_i).e1=function(n){return this.p3_1.e1(n)},Yt(_i).b3=function(n,t){return this.p3_1.b3(n,t)},Yt(_i).o=function(){return this.p3_1.o()},Yt(vi).o=function(){return this.s3_1.o()},Yt(vi).m=function(){return 0===this.s3_1.o()},Yt(vi).t3=function(n){return this.s3_1.d1(n)},Yt(vi).y=function(n){return(null==n||null!=n)&&this.t3(null==n||null!=n?n:tr())},Yt(vi).u3=function(n){throw se()},Yt(vi).h=function(n){return this.u3(null==n||null!=n?n:tr())},Yt(vi).v3=function(n){throw se()},Yt(vi).q=function(n){return this.v3(n)},Yt(vi).j=function(){return this.s3_1.w3()},Yt(vi).f2=function(){return this.s3_1.x3()},Yt(gi).j=function(){return this.z3_1.a4()},Yt(di).o=function(){return this.z3_1.o()},Yt(di).m=function(){return 0===this.z3_1.o()},Yt(di).b4=function(n){return this.z3_1.d4(n)},Yt(di).y=function(n){return!(null==n||!zr(n,gt))&&this.b4(null!=n&&zr(n,gt)?n:tr())},Yt(di).c4=function(n){throw se()},Yt(di).h=function(n){return this.c4(null!=n&&zr(n,gt)?n:tr())},Yt(di).q=function(n){throw se()},Yt(di).z=function(n){return this.z3_1.e4(n)},Yt(di).f2=function(){return this.z3_1.x3()},Yt(wi).k=function(){return this.f4_1.k()},Yt(wi).l=function(){return this.f4_1.l().b1()},Yt(bi).u3=function(n){throw ce("Add is not supported on values")},Yt(bi).h=function(n){return this.u3(null==n||null!=n?n:tr())},Yt(bi).t3=function(n){return this.g4_1.d1(n)},Yt(bi).y=function(n){return(null==n||null!=n)&&this.t3(null==n||null!=n?n:tr())},Yt(bi).j=function(){return new wi(this.g4_1.s().j())},Yt(bi).o=function(){return this.g4_1.o()},Yt(bi).f2=function(){return this.g4_1.f2()},Yt(yi).h=function(n){return null==this.h4_1.b3(n,!0)},Yt(yi).y=function(n){return this.h4_1.r3(n)},Yt(yi).m=function(){return 0===this.h4_1.o()},Yt(yi).j=function(){return this.h4_1.i4()},Yt(yi).o=function(){return this.h4_1.o()},Yt(Fi).f5=function(){for(;this.c5_1<this.b5_1.o4_1&&this.b5_1.l4_1[this.c5_1]<0;)this.c5_1=this.c5_1+1|0},Yt(Fi).k=function(){return this.c5_1<this.b5_1.o4_1},Yt(Fi).g5=function(){if(this.b5_1.q4_1!==this.e5_1)throw qe()},Yt(Di).l=function(){if(this.g5(),this.c5_1>=this.b5_1.o4_1)throw de();var n=this.c5_1;this.c5_1=n+1|0,this.d5_1=n;var t=this.b5_1.j4_1[this.d5_1];return this.f5(),t},Yt(Oi).l=function(){if(this.g5(),this.c5_1>=this.b5_1.o4_1)throw de();var n=this.c5_1;this.c5_1=n+1|0,this.d5_1=n;var t=Xt(this.b5_1.k4_1)[this.d5_1];return this.f5(),t},Yt(Ri).l=function(){if(this.g5(),this.c5_1>=this.b5_1.o4_1)throw de();var n=this.c5_1;this.c5_1=n+1|0,this.d5_1=n;var t=new Hi(this.b5_1,this.d5_1);return this.f5(),t},Yt(Ri).t5=function(){if(this.c5_1>=this.b5_1.o4_1)throw de();var n=this.c5_1;this.c5_1=n+1|0,this.d5_1=n;var t=this.b5_1.j4_1[this.d5_1],r=null==t?null:Gt(t),i=null==r?0:r,e=Xt(this.b5_1.k4_1)[this.d5_1],u=null==e?null:Gt(e),o=i^(null==u?0:u);return this.f5(),o},Yt(Ri).u5=function(n){if(this.c5_1>=this.b5_1.o4_1)throw de();var t=this.c5_1;this.c5_1=t+1|0,this.d5_1=t;var r=this.b5_1.j4_1[this.d5_1];Vt(r,this.b5_1)?n.x5("(this Map)"):n.w5(r),n.y5(61);var i=Xt(this.b5_1.k4_1)[this.d5_1];Vt(i,this.b5_1)?n.x5("(this Map)"):n.w5(i),this.f5()},Yt(Hi).a1=function(){return Bi(this),this.t4_1.j4_1[this.u4_1]},Yt(Hi).b1=function(){return Bi(this),Xt(this.t4_1.k4_1)[this.u4_1]},Yt(Hi).equals=function(n){return!(null==n||!zr(n,gt)||!Vt(n.a1(),this.a1()))&&Vt(n.b1(),this.b1())},Yt(Hi).hashCode=function(){var n=this.a1(),t=null==n?null:Gt(n),r=null==t?0:t,i=this.b1(),e=null==i?null:Gt(i);return r^(null==e?0:e)},Yt(Hi).toString=function(){return pt(this.a1())+"="+pt(this.b1())},Yt($i).o=function(){return this.r4_1},Yt($i).d1=function(n){return function(n,t){for(var r=n.o4_1;(r=r-1|0)>=0;)if(n.l4_1[r]>=0&&Vt(Xt(n.k4_1)[r],t))return r;return-1}(this,n)>=0},Yt($i).e1=function(n){var t=Ni(this,n);return t<0?null:Xt(this.k4_1)[t]},Yt($i).r3=function(n){return Ni(this,n)>=0},Yt($i).b3=function(n,t){var r=function(n,t){n.x3();n:for(;;)for(var r=Ti(n,t),i=rt(Ln(n.n4_1,2),Si(n)/2|0),e=0;;){var u=n.m4_1[r];if(u<=0){if(n.o4_1>=Pi(n)){zi(n,1);continue n}var o=n.o4_1;n.o4_1=o+1|0;var a=o;return n.j4_1[a]=t,n.l4_1[a]=r,n.m4_1[r]=a+1|0,n.r4_1=n.r4_1+1|0,Ii(n),e>n.n4_1&&(n.n4_1=e),a}if(Vt(n.j4_1[u-1|0],t))return 0|-u;if((e=e+1|0)>i){Ei(n,Ln(Si(n),2));continue n}var f=r;r=f-1|0,0===f&&(r=Si(n)-1|0)}}(this,n),i=function(n){var t=n.k4_1;if(null!=t)return t;var r=Xr(Pi(n));return n.k4_1=r,r}(this);if(r<0){var e=i[(0|-r)-1|0];return i[(0|-r)-1|0]=t,e}return i[r]=t,null},Yt($i).equals=function(n){var t,r;return n===this?t=!0:(r=!(null==n||!zr(n,dt))&&function(n,t){return n.r4_1===t.o()&&n.e4(t.s())}(this,n),t=r),t},Yt($i).hashCode=function(){for(var n=0,t=this.a4();t.k();)n=n+t.t5()|0;return n},Yt($i).toString=function(){var n,t=(Ln(this.r4_1,3),Te(n=Ht(Yt(Ee))),n);t.x5("{");for(var r=0,i=this.a4();i.k();)r>0&&t.x5(", "),i.u5(t),r=r+1|0;return t.x5("}"),t.toString()},Yt($i).x3=function(){if(this.s4_1)throw se()},Yt($i).d4=function(n){var t=Ni(this,n.a1());return!(t<0)&&Vt(Xt(this.k4_1)[t],n.b1())},Yt($i).z5=function(n){return this.d4(zr(n,gt)?n:tr())},Yt($i).i4=function(){return new Di(this)},Yt($i).w3=function(){return new Oi(this)},Yt($i).a4=function(){return new Ri(this)},Yt(Qi).f2=function(){return this.p3_1.x3()},Yt(Wi).f2=function(){return this.h4_1.x3()},Yt(Ki).h6=function(){this.i6("\n")},Yt(Ki).j6=function(n){this.i6(n),this.h6()},Yt(Zi).i6=function(n){var t=null==n?null:$t(n),r=null==t?"null":t;this.k6_1.write(r)},Yt(Ji).i6=function(n){var t=null==n?null:$t(n),r=null==t?"null":t,i=r.lastIndexOf("\n",0);i>=0&&(this.m6_1=this.m6_1+Re(r,0,i),this.n6(),r=He(r,i+1|0)),this.m6_1=this.m6_1+r},Yt(Ji).n6=function(){console.log(this.m6_1),this.m6_1=""},Yt(Xi).i6=function(n){var t=this.m6_1,r=null==n?null:$t(n);this.m6_1=t+(null==r?"null":r)},Yt(Ee).a=function(){return this.v5_1.length},Yt(Ee).b=function(n){var t=this.v5_1;if(!(0<=n&&n<=(Et(t)-1|0)))throw me("index: "+n+", length: "+this.a()+"}");return zt(t,n)},Yt(Ee).c=function(n,t){return Re(this.v5_1,n,t)},Yt(Ee).y5=function(n){return this.v5_1=this.v5_1+ht(n),this},Yt(Ee).i=function(n){return this.v5_1=this.v5_1+pt(n),this},Yt(Ee).w5=function(n){return this.v5_1=this.v5_1+pt(n),this},Yt(Ee).x5=function(n){var t=this.v5_1;return this.v5_1=t+(null==n?"null":n),this},Yt(Ee).toString=function(){return this.v5_1},Yt(Ae).t6=function(n){var t=this.q6_1;return n.replace(t,"\\$&")},Yt(Ae).u6=function(n){var t=this.s6_1;return n.replace(t,"$$$$")},Yt(De).a7=function(n){this.x6_1.lastIndex=0;var t=this.x6_1.exec($t(n));return!(null==t)&&0===t.index&&this.x6_1.lastIndex===Et(n)},Yt(De).toString=function(){return this.x6_1.toString()},Yt($e).f7=function(n,t){return this.e7_1(n,t)},Yt($e).compare=function(n,t){return this.f7(n,t)},Yt($e).w1=function(){return this.e7_1},Yt($e).equals=function(n){return!(null==n||!zr(n,Or))&&!(null==n||!zr(n,jt))&&Vt(this.w1(),n.w1())},Yt($e).hashCode=function(){return Gt(this.w1())},Yt(Ve).y=function(n){var t;n:if(zr(this,vt)&&this.m())t=!1;else{for(var r=this.j();r.k();)if(Vt(r.l(),n)){t=!0;break n}t=!1}return t},Yt(Ve).z=function(n){var t;n:if(zr(n,vt)&&n.m())t=!0;else{for(var r=n.j();r.k();){var i=r.l();if(!this.y(i)){t=!1;break n}}t=!0}return t},Yt(Ve).m=function(){return 0===this.o()},Yt(Ve).toString=function(){return Hn(this,", ","[","]",b,b,(n=this,function(t){return t===n?"(this Collection)":pt(t)}));var n},Yt(Ve).toArray=function(){return Hr(this)},Yt(We).k=function(){return this.g7_1<this.h7_1.o()},Yt(We).l=function(){if(!this.k())throw de();var n=this.g7_1;return this.g7_1=n+1|0,this.h7_1.n(n)},Yt(Ye).p2=function(){return this.g7_1>0},Yt(Ye).q2=function(){if(!this.p2())throw de();return this.g7_1=this.g7_1-1|0,this.k7_1.n(this.g7_1)},Yt(Ke).i3=function(n,t){if(n<0||n>=t)throw me("index: "+n+", size: "+t)},Yt(Ke).o2=function(n,t){if(n<0||n>t)throw me("index: "+n+", size: "+t)},Yt(Ke).w4=function(n,t){var r=n+(n>>1)|0;return(r-t|0)<0&&(r=t),(r-2147483639|0)>0&&(r=t>2147483639?2147483647:2147483639),r},Yt(Ke).v2=function(n){for(var t=1,r=n.j();r.k();){var i=r.l(),e=Ln(31,t),u=null==i?null:Gt(i);t=e+(null==u?0:u)|0}return t},Yt(Ke).u2=function(n,t){if(n.o()!==t.o())return!1;for(var r=t.j(),i=n.j();i.k();)if(!Vt(i.l(),r.l()))return!1;return!0},Yt(Ze).j=function(){return new We(this)},Yt(Ze).p=function(n){return new Ye(this,n)},Yt(Ze).equals=function(n){return n===this||!(null==n||!zr(n,_t))&&P.u2(this,n)},Yt(Ze).hashCode=function(){return P.v2(this)},Yt(Je).k=function(){return this.l7_1.k()},Yt(Je).l=function(){return this.l7_1.l().b1()},Yt(ru).t3=function(n){return this.m7_1.d1(n)},Yt(ru).y=function(n){return(null==n||null!=n)&&this.t3(null==n||null!=n?n:tr())},Yt(ru).j=function(){return new Je(this.m7_1.s().j())},Yt(ru).o=function(){return this.m7_1.o()},Yt(iu).c1=function(n){return!(null==nu(this,n))},Yt(iu).d1=function(n){var t,r=this.s();n:if(zr(r,vt)&&r.m())t=!1;else{for(var i=r.j();i.k();)if(Vt(i.l().b1(),n)){t=!0;break n}t=!1}return t},Yt(iu).e3=function(n){if(null==n||!zr(n,gt))return!1;var t=n.a1(),r=n.b1(),i=(zr(this,dt)?this:tr()).e1(t);return!(!Vt(r,i)||null==i&&!(zr(this,dt)?this:tr()).c1(t))},Yt(iu).equals=function(n){if(n===this)return!0;if(null==n||!zr(n,dt))return!1;if(this.o()!==n.o())return!1;var t,r=n.s();n:if(zr(r,vt)&&r.m())t=!0;else{for(var i=r.j();i.k();){var e=i.l();if(!this.e3(e)){t=!1;break n}}t=!0}return t},Yt(iu).e1=function(n){var t=nu(this,n);return null==t?null:t.b1()},Yt(iu).hashCode=function(){return Gt(this.s())},Yt(iu).o=function(){return this.s().o()},Yt(iu).toString=function(){return Hn(this.s(),", ","{","}",b,b,(n=this,function(t){return Xe(r=n,(i=t).a1())+"="+Xe(r,i.b1());var r,i}));var n},Yt(iu).f1=function(){return null==this.d3_1&&(this.d3_1=new ru(this)),Xt(this.d3_1)},Yt(eu).g3=function(n){for(var t=0,r=n.j();r.k();){var i=r.l(),e=t,u=null==i?null:Gt(i);t=e+(null==u?0:u)|0}return t},Yt(eu).f3=function(n,t){return n.o()===t.o()&&n.z(t)},Yt(su).equals=function(n){return!(null==n||!zr(n,_t))&&n.m()},Yt(su).hashCode=function(){return 1},Yt(su).toString=function(){return"[]"},Yt(su).o=function(){return 0},Yt(su).m=function(){return!0},Yt(su).n=function(n){throw me("Empty list doesn't contain element at index "+n+".")},Yt(su).j=function(){return z},Yt(su).p=function(n){if(0!==n)throw me("Index: "+n);return z},Yt(cu).k=function(){return!1},Yt(cu).p2=function(){return!1},Yt(cu).l=function(){throw de()},Yt(cu).q2=function(){throw de()},Yt(hu).o=function(){return this.o7_1.length},Yt(hu).m=function(){return 0===this.o7_1.length},Yt(hu).j=function(){return new Bt(this.o7_1)},Yt(vu).l=function(){return this.q7()},Yt(gu).k=function(){return this.r7_1.p2()},Yt(gu).p2=function(){return this.r7_1.k()},Yt(gu).l=function(){return this.r7_1.q2()},Yt(gu).q2=function(){return this.r7_1.l()},Yt(du).o=function(){return this.t7_1.o()},Yt(du).n=function(n){return this.t7_1.n(function(n,t){if(!(0<=t&&t<=fu(n)))throw me("Element index "+t+" must be in range ["+Ir(0,fu(n)).toString()+"].");return fu(n)-t|0}(this,n))},Yt(du).j=function(){return this.p(0)},Yt(du).p=function(n){return new gu(this,n)},Yt(wu).l=function(){return this.v7_1.x7_1(this.u7_1.l())},Yt(wu).k=function(){return this.u7_1.k()},Yt(bu).j=function(){return new wu(this)},Yt(pu).l=function(){if(-1===this.z7_1&&mu(this),0===this.z7_1)throw de();var n=this.a8_1;return this.a8_1=null,this.z7_1=-1,null==n||null!=n?n:tr()},Yt(pu).k=function(){return-1===this.z7_1&&mu(this),1===this.z7_1},Yt(ku).j=function(){return new pu(this)},Yt(qu).equals=function(n){return!(null==n||!zr(n,wt))&&n.m()},Yt(qu).hashCode=function(){return 0},Yt(qu).toString=function(){return"[]"},Yt(qu).o=function(){return 0},Yt(qu).m=function(){return!0},Yt(qu).g8=function(n){return n.m()},Yt(qu).z=function(n){return this.g8(n)},Yt(qu).j=function(){return z},Yt(Pu).k8=function(){return this.l8_1},Yt(Pu).o8=function(){return this.m8_1},Yt(Pu).m=function(){return this.l8_1>this.m8_1},Yt(Pu).equals=function(n){return n instanceof Pu&&(this.m()&&n.m()||this.l8_1===n.l8_1&&this.m8_1===n.m8_1)},Yt(Pu).hashCode=function(){return this.m()?-1:Ln(31,this.l8_1)+this.m8_1|0},Yt(Pu).toString=function(){return this.l8_1+".."+this.m8_1},Yt(Su).k=function(){return this.r8_1},Yt(Su).q7=function(){var n=this.s8_1;if(n===this.q8_1){if(!this.r8_1)throw de();this.r8_1=!1}else this.s8_1=this.s8_1+this.p8_1|0;return n},Yt(Iu).u=function(n,t,r){return new zu(n,t,r)},Yt(zu).j=function(){return new Su(this.l8_1,this.m8_1,this.n8_1)},Yt(zu).m=function(){return this.n8_1>0?this.l8_1>this.m8_1:this.l8_1<this.m8_1},Yt(zu).equals=function(n){return n instanceof zu&&(this.m()&&n.m()||this.l8_1===n.l8_1&&this.m8_1===n.m8_1&&this.n8_1===n.n8_1)},Yt(zu).hashCode=function(){return this.m()?-1:Ln(31,Ln(31,this.l8_1)+this.m8_1|0)+this.n8_1|0},Yt(zu).toString=function(){return this.n8_1>0?this.l8_1+".."+this.m8_1+" step "+this.n8_1:this.l8_1+" downTo "+this.m8_1+" step "+(0|-this.n8_1)},Yt(Du).k=function(){if(0!==this.y8_1)return 1===this.y8_1;if(this.b9_1<0)return this.y8_1=2,!1;var n=-1,t=Et(this.x8_1),r=this.z8_1,i=Et(this.x8_1);if(r<i)n:do{var e=r;r=r+1|0;var u=zt(this.x8_1,e);if(u===ft(10)||u===ft(13)){n=u===ft(13)&&(e+1|0)<Et(this.x8_1)&&zt(this.x8_1,e+1|0)===ft(10)?2:1,t=e;break n}}while(r<i);return this.y8_1=1,this.b9_1=n,this.a9_1=t,!0},Yt(Du).l=function(){if(!this.k())throw de();this.y8_1=0;var n=this.a9_1,t=this.z8_1;return this.z8_1=this.a9_1+this.b9_1|0,$t(Mt(this.x8_1,t,n))},Yt(Uu).l=function(){if(-1===this.c9_1&&Gu(this),0===this.c9_1)throw de();var n=this.f9_1,t=n instanceof Pu?n:tr();return this.f9_1=null,this.c9_1=-1,t},Yt(Uu).k=function(){return-1===this.c9_1&&Gu(this),1===this.c9_1},Yt(Qu).j=function(){return new Uu(this)},Yt(Vu).j=function(){return new Du(this.q9_1)},Yt(Wu).toString=function(){return"("+pt(this.m9_1)+", "+pt(this.n9_1)+")"},Yt(Wu).o9=function(){return this.m9_1},Yt(Wu).p9=function(){return this.n9_1},Yt(Wu).hashCode=function(){var n=null==this.m9_1?0:Gt(this.m9_1);return Ln(n,31)+(null==this.n9_1?0:Gt(this.n9_1))|0},Yt(Wu).equals=function(n){if(this===n)return!0;if(!(n instanceof Wu))return!1;var t=n instanceof Wu?n:tr();return!!Vt(this.m9_1,t.m9_1)&&!!Vt(this.n9_1,t.n9_1)},Yt(Zu).toString=function(){return"Model(text="+this.r9_1+", tooltip="+this.s9_1+")"},Yt(Zu).hashCode=function(){var n=Qt(this.r9_1);return Ln(n,31)+Qt(this.s9_1)|0},Yt(Zu).equals=function(n){if(this===n)return!0;if(!(n instanceof Zu))return!1;var t=n instanceof Zu?n:tr();return this.r9_1===t.r9_1&&this.s9_1===t.s9_1},Yt(Ju).y9=function(n,t){return this.z9(new Zu(n,t))},Yt(Ju).z9=function(n){var t,r;return Ka().ba(cf((t=n,r=this,function(n){return n.v9(t.s9_1),n.w9("copy-button"),n.x9(function(n,t){return function(r){return n.t9_1(t.r9_1)}}(r,t)),k})),[])},Yt(Ju).ca=function(n){return this.z9(n instanceof Zu?n:tr())},Yt(Ju).da=function(n,t){return t},Yt(Ju).ea=function(n,t){var r=null==n||null!=n?n:tr();return this.da(r,t instanceof Zu?t:tr())},Yt(no).na=function(n){return function(n,t){for(var r=Ya(),i=t.fa_1,e=ui(lu(i,10)),u=i.j();u.k();){var o,a=u.l();a instanceof Ta?o=Ya().ja(a.ia_1):a instanceof La?o=Xu(n,a.ga_1,a.ha_1):nr();var f=o;e.h(f)}return r.ka(e)}(this,n)},Yt(no).ca=function(n){return this.na(n instanceof Aa?n:tr())},Yt(no).oa=function(n,t){return t},Yt(no).ea=function(n,t){var r=null==n||null!=n?n:tr();return this.oa(r,t instanceof Aa?t:tr())},Yt(to).sa=function(n,t,r){return new to(n,t,r)},Yt(to).ta=function(n,t,r,i){return n=n===b?this.pa_1:n,t=t===b?this.qa_1:t,r=r===b?this.ra_1:r,i===b?this.sa(n,t,r):i.sa.call(this,n,t,r)},Yt(to).toString=function(){return"Exception(summary="+pt(this.pa_1)+", fullText="+this.qa_1+", parts="+$t(this.ra_1)+")"},Yt(to).hashCode=function(){var n=null==this.pa_1?0:this.pa_1.hashCode();return n=Ln(n,31)+Qt(this.qa_1)|0,Ln(n,31)+Gt(this.ra_1)|0},Yt(to).equals=function(n){if(this===n)return!0;if(!(n instanceof to))return!1;var t=n instanceof to?n:tr();return!!Vt(this.pa_1,t.pa_1)&&this.qa_1===t.qa_1&&!!Vt(this.ra_1,t.ra_1)},Yt(ro).wa=function(n,t){return new ro(n,t)},Yt(ro).xa=function(n,t,r){return n=n===b?this.ua_1:n,t=t===b?this.va_1:t,r===b?this.wa(n,t):r.wa.call(this,n,t)},Yt(ro).toString=function(){return"StackTracePart(lines="+$t(this.ua_1)+", state="+pt(this.va_1)+")"},Yt(ro).hashCode=function(){var n=Gt(this.ua_1);return Ln(n,31)+(null==this.va_1?0:this.va_1.hashCode())|0},Yt(ro).equals=function(n){if(this===n)return!0;if(!(n instanceof ro))return!1;var t=n instanceof ro?n:tr();return!!Vt(this.ua_1,t.ua_1)&&!!Vt(this.va_1,t.va_1)},Yt(io).toString=function(){return"Error(label="+$t(this.ya_1)+", docLink="+pt(this.za_1)+", count="+this.ab_1+")"},Yt(io).hashCode=function(){var n=Gt(this.ya_1);return n=Ln(n,31)+(null==this.za_1?0:Gt(this.za_1))|0,Ln(n,31)+(null==this.ab_1?0:this.ab_1)|0},Yt(io).equals=function(n){if(this===n)return!0;if(!(n instanceof io))return!1;var t=n instanceof io?n:tr();return!!Vt(this.ya_1,t.ya_1)&&!!Vt(this.za_1,t.za_1)&&this.ab_1==t.ab_1},Yt(eo).toString=function(){return"Warning(label="+$t(this.bb_1)+", docLink="+pt(this.cb_1)+", count="+this.db_1+")"},Yt(eo).hashCode=function(){var n=Gt(this.bb_1);return n=Ln(n,31)+(null==this.cb_1?0:Gt(this.cb_1))|0,Ln(n,31)+(null==this.db_1?0:this.db_1)|0},Yt(eo).equals=function(n){if(this===n)return!0;if(!(n instanceof eo))return!1;var t=n instanceof eo?n:tr();return!!Vt(this.bb_1,t.bb_1)&&!!Vt(this.cb_1,t.cb_1)&&this.db_1==t.db_1},Yt(uo).toString=function(){return"Message(prettyText="+this.eb_1.toString()+")"},Yt(uo).hashCode=function(){return this.eb_1.hashCode()},Yt(uo).equals=function(n){if(this===n)return!0;if(!(n instanceof uo))return!1;var t=n instanceof uo?n:tr();return!!this.eb_1.equals(t.eb_1)},Yt(oo).toString=function(){return"ListElement(prettyText="+this.fb_1.toString()+")"},Yt(oo).hashCode=function(){return this.fb_1.hashCode()},Yt(oo).equals=function(n){if(this===n)return!0;if(!(n instanceof oo))return!1;var t=n instanceof oo?n:tr();return!!this.fb_1.equals(t.fb_1)},Yt(ao).toString=function(){return"TreeNode(prettyText="+this.gb_1.toString()+")"},Yt(ao).hashCode=function(){return this.gb_1.hashCode()},Yt(ao).equals=function(n){if(this===n)return!0;if(!(n instanceof ao))return!1;var t=n instanceof ao?n:tr();return!!this.gb_1.equals(t.gb_1)},Yt(fo).toString=function(){return"Link(href="+this.hb_1+")"},Yt(fo).hashCode=function(){return Qt(this.hb_1)},Yt(fo).equals=function(n){if(this===n)return!0;if(!(n instanceof fo))return!1;var t=n instanceof fo?n:tr();return this.hb_1===t.hb_1},Yt(so).toString=function(){return"Label(text="+this.ib_1+")"},Yt(so).hashCode=function(){return Qt(this.ib_1)},Yt(so).equals=function(n){if(this===n)return!0;if(!(n instanceof so))return!1;var t=n instanceof so?n:tr();return this.ib_1===t.ib_1},Yt(mo).toString=function(){return"Info(label="+$t(this.lb_1)+", docLink="+pt(this.mb_1)+")"},Yt(mo).hashCode=function(){var n=Gt(this.lb_1);return Ln(n,31)+(null==this.mb_1?0:Gt(this.mb_1))|0},Yt(mo).equals=function(n){if(this===n)return!0;if(!(n instanceof mo))return!1;var t=n instanceof mo?n:tr();return!!Vt(this.lb_1,t.lb_1)&&!!Vt(this.mb_1,t.mb_1)},Yt(po).toString=function(){return"Project(path="+this.nb_1+")"},Yt(po).hashCode=function(){return Qt(this.nb_1)},Yt(po).equals=function(n){if(this===n)return!0;if(!(n instanceof po))return!1;var t=n instanceof po?n:tr();return this.nb_1===t.nb_1},Yt(ko).toString=function(){return"Task(path="+this.ob_1+", type="+this.pb_1+")"},Yt(ko).hashCode=function(){var n=Qt(this.ob_1);return Ln(n,31)+Qt(this.pb_1)|0},Yt(ko).equals=function(n){if(this===n)return!0;if(!(n instanceof ko))return!1;var t=n instanceof ko?n:tr();return this.ob_1===t.ob_1&&this.pb_1===t.pb_1},Yt(yo).toString=function(){return"TaskPath(path="+this.qb_1+")"},Yt(yo).hashCode=function(){return Qt(this.qb_1)},Yt(yo).equals=function(n){if(this===n)return!0;if(!(n instanceof yo))return!1;var t=n instanceof yo?n:tr();return this.qb_1===t.qb_1},Yt(qo).toString=function(){return"Bean(type="+this.rb_1+")"},Yt(qo).hashCode=function(){return Qt(this.rb_1)},Yt(qo).equals=function(n){if(this===n)return!0;if(!(n instanceof qo))return!1;var t=n instanceof qo?n:tr();return this.rb_1===t.rb_1},Yt(jo).toString=function(){return"SystemProperty(name="+this.sb_1+")"},Yt(jo).hashCode=function(){return Qt(this.sb_1)},Yt(jo).equals=function(n){if(this===n)return!0;if(!(n instanceof jo))return!1;var t=n instanceof jo?n:tr();return this.sb_1===t.sb_1},Yt(Bo).toString=function(){return"Property(kind="+this.tb_1+", name="+this.ub_1+", owner="+this.vb_1+")"},Yt(Bo).hashCode=function(){var n=Qt(this.tb_1);return n=Ln(n,31)+Qt(this.ub_1)|0,Ln(n,31)+Qt(this.vb_1)|0},Yt(Bo).equals=function(n){if(this===n)return!0;if(!(n instanceof Bo))return!1;var t=n instanceof Bo?n:tr();return this.tb_1===t.tb_1&&this.ub_1===t.ub_1&&this.vb_1===t.vb_1},Yt(Co).toString=function(){return"BuildLogic(location="+this.wb_1+")"},Yt(Co).hashCode=function(){return Qt(this.wb_1)},Yt(Co).equals=function(n){if(this===n)return!0;if(!(n instanceof Co))return!1;var t=n instanceof Co?n:tr();return this.wb_1===t.wb_1},Yt(xo).toString=function(){return"BuildLogicClass(type="+this.xb_1+")"},Yt(xo).hashCode=function(){return Qt(this.xb_1)},Yt(xo).equals=function(n){if(this===n)return!0;if(!(n instanceof xo))return!1;var t=n instanceof xo?n:tr();return this.xb_1===t.xb_1},Yt(Io).dc=function(){return this.cc_1},Yt(Io).toString=function(){return"TaskTreeIntent(delegate="+$t(this.cc_1)+")"},Yt(Io).hashCode=function(){return Gt(this.cc_1)},Yt(Io).equals=function(n){if(this===n)return!0;if(!(n instanceof Io))return!1;var t=n instanceof Io?n:tr();return!!Vt(this.cc_1,t.cc_1)},Yt(zo).dc=function(){return this.ec_1},Yt(zo).toString=function(){return"MessageTreeIntent(delegate="+$t(this.ec_1)+")"},Yt(zo).hashCode=function(){return Gt(this.ec_1)},Yt(zo).equals=function(n){if(this===n)return!0;if(!(n instanceof zo))return!1;var t=n instanceof zo?n:tr();return!!Vt(this.ec_1,t.ec_1)},Yt(To).dc=function(){return this.fc_1},Yt(To).toString=function(){return"InputTreeIntent(delegate="+$t(this.fc_1)+")"},Yt(To).hashCode=function(){return Gt(this.fc_1)},Yt(To).equals=function(n){if(this===n)return!0;if(!(n instanceof To))return!1;var t=n instanceof To?n:tr();return!!Vt(this.fc_1,t.fc_1)},Yt(Lo).dc=function(){return this.gc_1},Yt(Lo).toString=function(){return"IncompatibleTaskTreeIntent(delegate="+$t(this.gc_1)+")"},Yt(Lo).hashCode=function(){return Gt(this.gc_1)},Yt(Lo).equals=function(n){if(this===n)return!0;if(!(n instanceof Lo))return!1;var t=n instanceof Lo?n:tr();return!!Vt(this.gc_1,t.gc_1)},Yt(Eo).toString=function(){return"SetTab(tab="+this.hc_1.toString()+")"},Yt(Eo).hashCode=function(){return this.hc_1.hashCode()},Yt(Eo).equals=function(n){if(this===n)return!0;if(!(n instanceof Eo))return!1;var t=n instanceof Eo?n:tr();return!!this.hc_1.equals(t.hc_1)},Yt(Mo).qc=function(n,t,r,i,e,u,o,a){return new Mo(n,t,r,i,e,u,o,a)},Yt(Mo).rc=function(n,t,r,i,e,u,o,a,f){return n=n===b?this.ic_1:n,t=t===b?this.jc_1:t,r=r===b?this.kc_1:r,i=i===b?this.lc_1:i,e=e===b?this.mc_1:e,u=u===b?this.nc_1:u,o=o===b?this.oc_1:o,a=a===b?this.pc_1:a,f===b?this.qc(n,t,r,i,e,u,o,a):f.qc.call(this,n,t,r,i,e,u,o,a)},Yt(Mo).toString=function(){return"Model(heading="+this.ic_1.toString()+", summary="+$t(this.jc_1)+", learnMore="+this.kc_1.toString()+", messageTree="+this.lc_1.toString()+", locationTree="+this.mc_1.toString()+", inputTree="+this.nc_1.toString()+", incompatibleTaskTree="+this.oc_1.toString()+", tab="+this.pc_1.toString()+")"},Yt(Mo).hashCode=function(){var n=this.ic_1.hashCode();return n=Ln(n,31)+Gt(this.jc_1)|0,n=Ln(n,31)+this.kc_1.hashCode()|0,n=Ln(n,31)+this.lc_1.hashCode()|0,n=Ln(n,31)+this.mc_1.hashCode()|0,n=Ln(n,31)+this.nc_1.hashCode()|0,n=Ln(n,31)+this.oc_1.hashCode()|0,Ln(n,31)+this.pc_1.hashCode()|0},Yt(Mo).equals=function(n){if(this===n)return!0;if(!(n instanceof Mo))return!1;var t=n instanceof Mo?n:tr();return!!(this.ic_1.equals(t.ic_1)&&Vt(this.jc_1,t.jc_1)&&this.kc_1.equals(t.kc_1)&&this.lc_1.equals(t.lc_1)&&this.mc_1.equals(t.mc_1)&&this.nc_1.equals(t.nc_1)&&this.oc_1.equals(t.oc_1)&&this.pc_1.equals(t.pc_1))},Yt(oa).kd=function(n,t){var r,i;return n instanceof Io?r=t.rc(b,b,b,b,sn.md(n.cc_1,t.mc_1)):n instanceof zo?r=t.rc(b,b,b,sn.md(n.ec_1,t.lc_1)):n instanceof To?r=t.rc(b,b,b,b,b,sn.md(n.fc_1,t.nc_1)):n instanceof Lo?r=t.rc(b,b,b,b,b,b,sn.md(n.gc_1,t.oc_1)):n instanceof Qs?r=function(n,t,r,i){var e;return r instanceof zo?e=t.rc(b,b,b,$s(t.lc_1,r,i)):r instanceof Io?e=t.rc(b,b,b,b,$s(t.mc_1,r,i)):r instanceof To?e=t.rc(b,b,b,b,b,$s(t.nc_1,r,i)):r instanceof Lo?e=t.rc(b,b,b,b,b,b,$s(t.oc_1,r,i)):(console.error("Unhandled tree intent: "+$t(r)),e=t),e}(0,t,n.bd_1,(i=n,function(n){if(!(n instanceof to))throw ue($t("Failed requirement."));for(var t=n.ra_1,r=i.ad_1,e=ui(lu(t,10)),u=0,o=t.j();o.k();){var a,f=o.l(),s=u;if(u=s+1|0,r===Gr(s)){var c=f.va_1;a=f.xa(b,null==c?null:c.ed())}else a=f;var h=a;e.h(h)}return n.ta(b,b,e)})):n instanceof Gs?(window.navigator.clipboard.writeText(n.ld_1),r=t):n instanceof Eo?r=t.rc(b,b,b,b,b,b,b,n.hc_1):(console.error("Unhandled intent: "+$t(n)),r=t),r},Yt(oa).ea=function(n,t){var r=n instanceof Vs?n:tr();return this.kd(r,t instanceof Mo?t:tr())},Yt(oa).nd=function(n){return Va().ba(cf(Wo),[Fo(0,n),Do(0,n)])},Yt(oa).ca=function(n){return this.nd(n instanceof Mo?n:tr())},Yt(fa).toString=function(){return"ImportedProblem(problem="+$t(this.od_1)+", message="+this.pd_1.toString()+", trace="+$t(this.qd_1)+")"},Yt(fa).hashCode=function(){var n=Gt(this.od_1);return n=Ln(n,31)+this.pd_1.hashCode()|0,Ln(n,31)+Gt(this.qd_1)|0},Yt(fa).equals=function(n){if(this===n)return!0;if(!(n instanceof fa))return!1;var t=n instanceof fa?n:tr();return!!Vt(this.od_1,t.od_1)&&!!this.pd_1.equals(t.pd_1)&&!!Vt(this.qd_1,t.qd_1)},Yt(pa).f7=function(n,t){return this.xd_1(n,t)},Yt(pa).compare=function(n,t){return this.f7(n,t)},Yt(pa).w1=function(){return this.xd_1},Yt(pa).equals=function(n){return!(null==n||!zr(n,Or))&&!(null==n||!zr(n,jt))&&Vt(this.w1(),n.w1())},Yt(pa).hashCode=function(){return Gt(this.w1())},Yt(za).toString=function(){return"LearnMore(text="+this.wc_1+", documentationLink="+this.xc_1+")"},Yt(za).hashCode=function(){var n=Qt(this.wc_1);return Ln(n,31)+Qt(this.xc_1)|0},Yt(za).equals=function(n){if(this===n)return!0;if(!(n instanceof za))return!1;var t=n instanceof za?n:tr();return this.wc_1===t.wc_1&&this.xc_1===t.xc_1},Yt(Ta).toString=function(){return"Text(text="+this.ia_1+")"},Yt(Ta).hashCode=function(){return Qt(this.ia_1)},Yt(Ta).equals=function(n){if(this===n)return!0;if(!(n instanceof Ta))return!1;var t=n instanceof Ta?n:tr();return this.ia_1===t.ia_1},Yt(La).toString=function(){return"Reference(name="+this.ga_1+", clipboardString="+this.ha_1+")"},Yt(La).hashCode=function(){var n=Qt(this.ga_1);return Ln(n,31)+Qt(this.ha_1)|0},Yt(La).equals=function(n){if(this===n)return!0;if(!(n instanceof La))return!1;var t=n instanceof La?n:tr();return this.ga_1===t.ga_1&&this.ha_1===t.ha_1},Yt(Ma).id=function(n){return this.hd_1.h(new Ta(n)),this},Yt(Ma).ae=function(n,t){return this.hd_1.h(new La(n,t)),this},Yt(Ma).jd=function(n,t,r){return t=t===b?n:t,r===b?this.ae(n,t):r.ae.call(this,n,t)},Yt(Ma).be=function(){return new Aa(Qn(this.hd_1))},Yt(Na).vd=function(n){return new Aa($r(new Ta(n)))},Yt(Na).ud=function(n){var t=new Ma;return n(t),t.be()},Yt(Aa).yd=function(n){return new Aa(n)},Yt(Aa).toString=function(){return"PrettyText(fragments="+$t(this.fa_1)+")"},Yt(Aa).hashCode=function(){return Gt(this.fa_1)},Yt(Aa).equals=function(n){if(this===n)return!0;if(!(n instanceof Aa))return!1;var t=n instanceof Aa?n:tr();return!!Vt(this.fa_1,t.fa_1)},Yt(Fa).wd=function(n){return function(n){for(var t=li(),r=n.j();r.k();)for(var i=t,e=r.l().j();e.k();){var u,o=e.l(),a=i,f=a.e1(o);if(null==f){var s=li();a.b3(o,s),u=s}else u=f;i=u instanceof _i?u:tr()}return t}(n)},Yt(Ra).toString=function(){return"Trie(nestedMaps="+$t(this.zd_1)+")"},Yt(Ra).hashCode=function(){return Gt(this.zd_1)},Yt(Ra).equals=function(n){return function(n,t){return t instanceof Ra&&!!Vt(n,t instanceof Ra?t.zd_1:tr())}(this.zd_1,n)},Yt(rf).ja=function(n){return on.ce(this.aa_1,b,n)},Yt(rf).ka=function(n){return on.ce(this.aa_1,b,b,n)},Yt(rf).ma=function(n){return on.ce(this.aa_1,b,b,Lr(n))},Yt(rf).ba=function(n,t){return on.ce(this.aa_1,n,b,Lr(t))},Yt(rf).de=function(n,t){return on.ce(this.aa_1,n,b,t)},Yt(rf).jb=function(n,t){return on.ce(this.aa_1,n,t)},Yt(rf).vc=function(n,t){return on.ce(this.aa_1,b,n,Lr(t))},Yt(rf).toString=function(){return"ViewFactory(elementName="+this.aa_1+")"},Yt(rf).hashCode=function(){return Qt(this.aa_1)},Yt(rf).equals=function(n){if(this===n)return!0;if(!(n instanceof rf))return!1;var t=n instanceof rf?n:tr();return this.aa_1===t.aa_1},Yt(ef).ee=function(n,t,r,i){return new af(n,t,r,i)},Yt(ef).ce=function(n,t,r,i,e){return t=t===b?ou():t,r=r===b?null:r,i=i===b?ou():i,e===b?this.ee(n,t,r,i):e.ee.call(this,n,t,r,i)},Yt(af).toString=function(){return"Element(elementName="+this.fe_1+", attributes="+$t(this.ge_1)+", innerText="+this.he_1+", children="+$t(this.ie_1)+")"},Yt(af).hashCode=function(){var n=Qt(this.fe_1);return n=Ln(n,31)+Gt(this.ge_1)|0,n=Ln(n,31)+(null==this.he_1?0:Qt(this.he_1))|0,Ln(n,31)+Gt(this.ie_1)|0},Yt(af).equals=function(n){if(this===n)return!0;if(!(n instanceof af))return!1;var t=n instanceof af?n:tr();return this.fe_1===t.fe_1&&!!Vt(this.ge_1,t.ge_1)&&this.he_1==t.he_1&&!!Vt(this.ie_1,t.ie_1)},Yt(hf).x9=function(n){return this.u9_1(new lf("click",n))},Yt(hf).w9=function(n){return this.u9_1(new _f(n))},Yt(hf).kb=function(n){for(var t=0,r=n.length;t<r;){var i=n[t];t=t+1|0,this.u9_1(new _f(i))}return k},Yt(hf).v9=function(n){return this.u9_1(new vf("title",n))},Yt(hf).fd=function(n){return this.u9_1(new vf("href",n))},Yt(mf).se=function(){return this.re_1},Yt(mf).toString=function(){return"Toggle(focus="+$t(this.re_1)+")"},Yt(mf).hashCode=function(){return Gt(this.re_1)},Yt(mf).equals=function(n){if(this===n)return!0;if(!(n instanceof mf))return!1;var t=n instanceof mf?n:tr();return!!Vt(this.re_1,t.re_1)},Yt(pf).te=function(n,t){return this.ve(n.ue((r=t,function(n){return n.qe(r(n.yb_1))})));var r},Yt(pf).ve=function(n){return new pf(n)},Yt(pf).toString=function(){return"Model(tree="+this.bc_1.toString()+")"},Yt(pf).hashCode=function(){return this.bc_1.hashCode()},Yt(pf).equals=function(n){if(this===n)return!0;if(!(n instanceof pf))return!1;var t=n instanceof pf?n:tr();return!!this.bc_1.equals(t.bc_1)},Yt(qf).md=function(n,t){var r;return n instanceof mf?r=t.ve(n.re_1.ue(yf)):nr(),r},Yt(Bf).gd=function(){return this.ze_1},Yt(Bf).af=function(){return 0},Yt(Bf).ue=function(n){return n(this.ze_1)},Yt(Bf).toString=function(){return"Original(tree="+this.ze_1.toString()+")"},Yt(Bf).hashCode=function(){return this.ze_1.hashCode()},Yt(Bf).equals=function(n){if(this===n)return!0;if(!(n instanceof Bf))return!1;var t=n instanceof Bf?n:tr();return!!this.ze_1.equals(t.ze_1)},Yt(Cf).gd=function(){return this.ye_1},Yt(Cf).af=function(){return this.we_1.af()+1|0},Yt(Cf).ue=function(n){return this.we_1.ue((t=this,r=n,function(n){for(var i=n.zb_1,e=t.xe_1,u=r,o=ui(lu(i,10)),a=0,f=i.j();f.k();){var s=f.l(),c=a;a=c+1|0;var h=e===Gr(c)?u(s):s;o.h(h)}return n.qe(b,o)}));var t,r},Yt(Cf).toString=function(){return"Child(parent="+$t(this.we_1)+", index="+this.xe_1+", tree="+this.ye_1.toString()+")"},Yt(Cf).hashCode=function(){var n=Gt(this.we_1);return n=Ln(n,31)+this.xe_1|0,Ln(n,31)+this.ye_1.hashCode()|0},Yt(Cf).equals=function(n){if(this===n)return!0;if(!(n instanceof Cf))return!1;var t=n instanceof Cf?n:tr();return!!Vt(this.we_1,t.we_1)&&this.xe_1===t.xe_1&&!!this.ye_1.equals(t.ye_1)},Yt(xf).ed=function(){var n;switch(this.h1_1){case 0:n=If();break;case 1:n=Sf();break;default:nr()}return n},Yt(Pf).zc=function(){var n,t;return et(Gn(Ir(0,this.gd().zb_1.o()-1|0)),(n=this,(t=function(t){return n.bf(t)}).callableName="child",t))},Yt(Pf).bf=function(n){return new Cf(this,n,this.gd().zb_1.n(n))},Yt(zf).yc=function(){return new Bf(this)},Yt(zf).cf=function(){return!this.zb_1.m()},Yt(zf).df=function(n,t,r){return new zf(n,t,r)},Yt(zf).qe=function(n,t,r,i){return n=n===b?this.yb_1:n,t=t===b?this.zb_1:t,r=r===b?this.ac_1:r,i===b?this.df(n,t,r):i.df.call(this,n,t,r)},Yt(zf).toString=function(){return"Tree(label="+pt(this.yb_1)+", children="+$t(this.zb_1)+", state="+this.ac_1.toString()+")"},Yt(zf).hashCode=function(){var n=null==this.yb_1?0:Gt(this.yb_1);return n=Ln(n,31)+Gt(this.zb_1)|0,Ln(n,31)+this.ac_1.hashCode()|0},Yt(zf).equals=function(n){if(this===n)return!0;if(!(n instanceof zf))return!1;var t=n instanceof zf?n:tr();return!!Vt(this.yb_1,t.yb_1)&&!!Vt(this.zb_1,t.zb_1)&&!!this.ac_1.equals(t.ac_1)},Yt(Mf).toString=function(){return"ProblemIdElement(name="+this.hf_1+", displayName="+this.if_1+")"},Yt(Mf).hashCode=function(){var n=Qt(this.hf_1);return Ln(n,31)+Qt(this.if_1)|0},Yt(Mf).equals=function(n){if(this===n)return!0;if(!(n instanceof Mf))return!1;var t=n instanceof Mf?n:tr();return this.hf_1===t.hf_1&&this.if_1===t.if_1},Yt(Nf).toString=function(){return"ProblemSummary(problemId="+$t(this.jf_1)+", count="+this.kf_1+")"},Yt(Nf).hashCode=function(){var n=Gt(this.jf_1);return Ln(n,31)+this.kf_1|0},Yt(Nf).equals=function(n){if(this===n)return!0;if(!(n instanceof Nf))return!1;var t=n instanceof Nf?n:tr();return!!Vt(this.jf_1,t.jf_1)&&this.kf_1===t.kf_1},Yt(Rf).toString=function(){return"ProblemNodeGroup(tree="+this.lf_1.toString()+", children="+$t(this.mf_1)+", childGroups="+$t(this.nf_1)+", id="+this.of_1+")"},Yt(Rf).hashCode=function(){var n=this.lf_1.hashCode();return n=Ln(n,31)+Gt(this.mf_1)|0,n=Ln(n,31)+Gt(this.nf_1)|0,Ln(n,31)+this.of_1|0},Yt(Rf).equals=function(n){if(this===n)return!0;if(!(n instanceof Rf))return!1;var t=n instanceof Rf?n:tr();return!!this.lf_1.equals(t.lf_1)&&!!Vt(this.mf_1,t.mf_1)&&!!Vt(this.nf_1,t.nf_1)&&this.of_1===t.of_1},Yt(cs).toString=function(){return"Text(text="+this.pf_1+")"},Yt(cs).hashCode=function(){return Qt(this.pf_1)},Yt(cs).equals=function(n){if(this===n)return!0;if(!(n instanceof cs))return!1;var t=n instanceof cs?n:tr();return this.pf_1===t.pf_1},Yt(hs).toString=function(){return"ProblemIdNode(prettyText="+this.qf_1.toString()+", separator="+this.rf_1+")"},Yt(hs).hashCode=function(){var n=this.qf_1.hashCode();return Ln(n,31)+Ut(this.rf_1)|0},Yt(hs).equals=function(n){if(this===n)return!0;if(!(n instanceof hs))return!1;var t=n instanceof hs?n:tr();return!!this.qf_1.equals(t.qf_1)&&this.rf_1===t.rf_1},Yt(ls).toString=function(){return"Advice(label="+$t(this.sf_1)+", docLink="+pt(this.tf_1)+", count="+this.uf_1+")"},Yt(ls).hashCode=function(){var n=Gt(this.sf_1);return n=Ln(n,31)+(null==this.tf_1?0:Gt(this.tf_1))|0,Ln(n,31)+(null==this.uf_1?0:this.uf_1)|0},Yt(ls).equals=function(n){if(this===n)return!0;if(!(n instanceof ls))return!1;var t=n instanceof ls?n:tr();return!!Vt(this.sf_1,t.sf_1)&&!!Vt(this.tf_1,t.tf_1)&&this.uf_1==t.uf_1},Yt(vs).dc=function(){return this.vf_1},Yt(vs).toString=function(){return"MessageTreeIntent(delegate="+$t(this.vf_1)+")"},Yt(vs).hashCode=function(){return Gt(this.vf_1)},Yt(vs).equals=function(n){if(this===n)return!0;if(!(n instanceof vs))return!1;var t=n instanceof vs?n:tr();return!!Vt(this.vf_1,t.vf_1)},Yt(gs).dc=function(){return this.wf_1},Yt(gs).toString=function(){return"ProblemIdTreeIntent(delegate="+$t(this.wf_1)+")"},Yt(gs).hashCode=function(){return Gt(this.wf_1)},Yt(gs).equals=function(n){if(this===n)return!0;if(!(n instanceof gs))return!1;var t=n instanceof gs?n:tr();return!!Vt(this.wf_1,t.wf_1)},Yt(ds).dc=function(){return this.xf_1},Yt(ds).toString=function(){return"FileLocationTreeIntent(delegate="+$t(this.xf_1)+")"},Yt(ds).hashCode=function(){return Gt(this.xf_1)},Yt(ds).equals=function(n){if(this===n)return!0;if(!(n instanceof ds))return!1;var t=n instanceof ds?n:tr();return!!Vt(this.xf_1,t.xf_1)},Yt(ws).dc=function(){return this.yf_1},Yt(ws).toString=function(){return"PluginLocationTreeIntent(delegate="+$t(this.yf_1)+")"},Yt(ws).hashCode=function(){return Gt(this.yf_1)},Yt(ws).equals=function(n){if(this===n)return!0;if(!(n instanceof ws))return!1;var t=n instanceof ws?n:tr();return!!Vt(this.yf_1,t.yf_1)},Yt(bs).dc=function(){return this.zf_1},Yt(bs).toString=function(){return"TaskLocationTreeIntent(delegate="+$t(this.zf_1)+")"},Yt(bs).hashCode=function(){return Gt(this.zf_1)},Yt(bs).equals=function(n){if(this===n)return!0;if(!(n instanceof bs))return!1;var t=n instanceof bs?n:tr();return!!Vt(this.zf_1,t.zf_1)},Yt(ms).toString=function(){return"SetTab(tab="+this.ag_1.toString()+")"},Yt(ms).hashCode=function(){return this.ag_1.hashCode()},Yt(ms).equals=function(n){if(this===n)return!0;if(!(n instanceof ms))return!1;var t=n instanceof ms?n:tr();return!!this.ag_1.equals(t.ag_1)},Yt(ps).lg=function(n,t,r,i,e,u,o,a,f,s){return new ps(n,t,r,i,e,u,o,a,f,s)},Yt(ps).mg=function(n,t,r,i,e,u,o,a,f,s,c){return n=n===b?this.bg_1:n,t=t===b?this.cg_1:t,r=r===b?this.dg_1:r,i=i===b?this.eg_1:i,e=e===b?this.fg_1:e,u=u===b?this.gg_1:u,o=o===b?this.hg_1:o,a=a===b?this.ig_1:a,f=f===b?this.jg_1:f,s=s===b?this.kg_1:s,c===b?this.lg(n,t,r,i,e,u,o,a,f,s):c.lg.call(this,n,t,r,i,e,u,o,a,f,s)},Yt(ps).toString=function(){return"Model(heading="+this.bg_1.toString()+", summary="+$t(this.cg_1)+", learnMore="+this.dg_1.toString()+", messageTree="+this.eg_1.toString()+", problemIdTree="+this.fg_1.toString()+", fileLocationTree="+this.gg_1.toString()+", pluginLocationTree="+this.hg_1.toString()+", taskLocationTree="+this.ig_1.toString()+", problemCount="+this.jg_1+", tab="+this.kg_1.toString()+")"},Yt(ps).hashCode=function(){var n=this.bg_1.hashCode();return n=Ln(n,31)+Gt(this.cg_1)|0,n=Ln(n,31)+this.dg_1.hashCode()|0,n=Ln(n,31)+this.eg_1.hashCode()|0,n=Ln(n,31)+this.fg_1.hashCode()|0,n=Ln(n,31)+this.gg_1.hashCode()|0,n=Ln(n,31)+this.hg_1.hashCode()|0,n=Ln(n,31)+this.ig_1.hashCode()|0,n=Ln(n,31)+this.jg_1|0,Ln(n,31)+this.kg_1.hashCode()|0},Yt(ps).equals=function(n){if(this===n)return!0;if(!(n instanceof ps))return!1;var t=n instanceof ps?n:tr();return!!(this.bg_1.equals(t.bg_1)&&Vt(this.cg_1,t.cg_1)&&this.dg_1.equals(t.dg_1)&&this.eg_1.equals(t.eg_1)&&this.fg_1.equals(t.fg_1)&&this.gg_1.equals(t.gg_1)&&this.hg_1.equals(t.hg_1)&&this.ig_1.equals(t.ig_1)&&this.jg_1===t.jg_1&&this.kg_1.equals(t.kg_1))},Yt(Rs).ng=function(n,t){var r,i;return n instanceof ds?r=t.mg(b,b,b,b,b,sn.md(n.xf_1,t.gg_1)):n instanceof ws?r=t.mg(b,b,b,b,b,b,sn.md(n.yf_1,t.hg_1)):n instanceof bs?r=t.mg(b,b,b,b,b,b,b,sn.md(n.zf_1,t.ig_1)):n instanceof gs?r=t.mg(b,b,b,b,sn.md(n.wf_1,t.fg_1)):n instanceof vs?r=t.mg(b,b,b,sn.md(n.vf_1,t.eg_1)):n instanceof Qs?r=function(n,t,r,i){var e;return r instanceof vs?e=t.mg(b,b,b,$s(t.eg_1,r,i)):r instanceof gs?e=t.mg(b,b,b,b,$s(t.fg_1,r,i)):r instanceof ds?e=t.mg(b,b,b,b,b,$s(t.gg_1,r,i)):r instanceof ws?e=t.mg(b,b,b,b,b,b,$s(t.hg_1,r,i)):r instanceof bs?e=t.mg(b,b,b,b,b,b,b,$s(t.ig_1,r,i)):(console.error("Unhandled tree intent: "+$t(r)),e=t),e}(0,t,n.bd_1,(i=n,function(n){if(!(n instanceof to))throw ue($t("Failed requirement."));for(var t=n.ra_1,r=i.ad_1,e=ui(lu(t,10)),u=0,o=t.j();o.k();){var a,f=o.l(),s=u;if(u=s+1|0,r===Gr(s)){var c=f.va_1;a=f.xa(b,null==c?null:c.ed())}else a=f;var h=a;e.h(h)}return n.ta(b,b,e)})):n instanceof Gs?(window.navigator.clipboard.writeText(n.ld_1),r=t):n instanceof ms?r=t.mg(b,b,b,b,b,b,b,b,b,n.ag_1):(console.error("Unhandled intent: "+$t(n)),r=t),r},Yt(Rs).ea=function(n,t){var r=n instanceof Vs?n:tr();return this.ng(r,t instanceof ps?t:tr())},Yt(Rs).og=function(n){return Va().ba(cf(Ts),[ys(0,n),qs(0,n)])},Yt(Rs).ca=function(n){return this.og(n instanceof ps?n:tr())},Yt(Gs).toString=function(){return"Copy(text="+this.ld_1+")"},Yt(Gs).hashCode=function(){return Qt(this.ld_1)},Yt(Gs).equals=function(n){if(this===n)return!0;if(!(n instanceof Gs))return!1;var t=n instanceof Gs?n:tr();return this.ld_1===t.ld_1},Yt(Qs).toString=function(){return"ToggleStackTracePart(partIndex="+this.ad_1+", location="+$t(this.bd_1)+")"},Yt(Qs).hashCode=function(){var n=this.ad_1;return Ln(n,31)+Gt(this.bd_1)|0},Yt(Qs).equals=function(n){if(this===n)return!0;if(!(n instanceof Qs))return!1;var t=n instanceof Qs?n:tr();return this.ad_1===t.ad_1&&!!Vt(this.bd_1,t.bd_1)},Yt($i).e4=function(n){var t;n:if(zr(n,vt)&&n.m())t=!0;else{for(var r=n.j();r.k();){var i=r.l();if(null==i||!zr(i,gt)||!this.z5(i)){t=!1;break n}}t=!0}return t},new bt,k=new Rr,q=null,new Ai,P=new Ke,new tu,S=new eu,z=new cu,E=new Iu,new Fu,U=new oa,Q=new Na,V=new Fa,on=new ef,sn=new qf,function(){var n=configurationCacheProblems();if(null==n.problemsReport)Ha($a("report"),U,function(n){var t,r,i,e,u,o,a,f,s,c,h=function(n){for(var t=ei(),r=ei(),i=ei(),e=0,u=n.length;e<u;){var o=n[e];e=e+1|0;var a,f=o.input,s=null==f?null:r.h(ca(f,o));if(null==s){var c=o.incompatibleTask;a=null==c?null:i.h(ca(c,o))}else a=s;if(null==a){var h=Xt(o.problem);t.h(ca(h,o))}}return new sa(t,r,i)}(n.diagnostics),l=n.totalProblemCount;return new Mo((a=(t=n).buildName,f=t.requestedTasks,s=null==f?null:Mu(f," ",b,r=r!==b&&r)>=0,c=null==s||s,Q.ud((i=t,e=a,u=f,o=c,function(n){n.id(function(n){var t;if(Et(n)>0){var r=Lt(n,0),i=function(n){return 97<=n&&n<=122||!(st(n,128)<0)&&function(n){var t;return t=1===function(n){var t=n,r=Mr(Ar().a2_1,t),i=Ar().a2_1[r],e=(i+Ar().b2_1[r]|0)-1|0,u=Ar().c2_1[r];if(t>e)return 0;var o=3&u;if(0===o){var a=2,f=i,s=0;if(s<=1)do{if(s=s+1|0,(f=f+(u>>a&127)|0)>t)return 3;if((f=f+(u>>(a=a+7|0)&127)|0)>t)return 0;a=a+7|0}while(s<=1);return 3}if(u<=7)return o;var c=t-i|0;return u>>Ln(2,u<=31?c%2|0:c)&3}(n)||function(n){var t=Mr(Dr().d2_1,n);return t>=0&&n<(Dr().d2_1[t]+Dr().e2_1[t]|0)}(n),t}(n)}(r)?function(n){return function(n){var t=ht(n).toUpperCase();if(t.length>1){var r;if(329===n)r=t;else{var i=Lt(t,0),e=He(t,1).toLowerCase();r=ht(i)+e}return r}return ht(function(n){return function(n){var t=n;return 452<=t&&t<=460||497<=t&&t<=499?function(n){return function(n){return 65535&n}(function(n){return n<<16>>16}(Sr(n)))}(Ln(3,(t+1|0)/3|0)):4304<=t&&t<=4346||4349<=t&&t<=4351?n:Me(n)}(n)}(n))}(n)}(r):ht(r);t=$t(i)+He(n,1)}else t=n;return t}(i.cacheAction)+" the configuration cache for ");var t=e;null==t||n.jd(t),null==e||n.id(" build and ");var r=u;return null==(null==r?null:n.jd(r))&&n.id("default"),n.id(o?" tasks":" task"),k}))),function(n,t){var r=n.cacheActionDescription,i=null==r?null:xa(r),e=Q.vd(function(n){var t=n.sd_1.o(),r=Pa(t,"build configuration input");return t>0?r+" and will cause the cache to be discarded when "+(t<=1?"its":"their")+" value change":r}(t)),u=Q.vd(function(n,t){var r=n.totalProblemCount,i=t.rd_1.o(),e=Pa(r,"problem");return r>i?e+", only the first "+i+" "+Ia(i)+" included in this report":e}(n,t));return function(n,t){for(var r=0,i=n.length;r<i;){var e=n[r];r=r+1|0,null!=e&&t.h(e)}return t}([i,e,u],ei())}(n,h),new za("Gradle Configuration Cache",n.documentationLink),ba(new so(ia().uc_1),et(Gn(h.rd_1),qa)),ba(new so(ea().uc_1),function(n){return et(Gn(n),ja)}(h.rd_1)),ba(new so(ra().uc_1),et(Gn(h.sd_1),ka)),ba(new so(ua().uc_1),et(Gn(h.td_1),ya)),0===l?ra():ia())}(n));else{var t=n.problemsReport;Ha($a("report"),Hs(),function(n,t){ss();for(var r=n.summaries,i=ui(r.length),e=0,u=r.length;e<u;){var o=r[e];e=e+1|0;for(var a=o.problemId,f=ui(a.length),s=0,c=a.length;s<c;){var h=a[s];s=s+1|0;var l=new Mf(h.name,h.displayName);f.h(l)}var _=new Nf(f,o.count);i.h(_)}for(var v=i,g=function(n,t){ss();for(var r=Ui(),i=0,e=n.length;i<e;){var u=n[i];i=i+1|0;var o,a=Gf(u.problemId),f=r.e1(a);if(null==f){var s=ei();r.b3(a,s),o=s}else o=f;o.h(u)}for(var c=r.s(),h=ui(lu(c,10)),l=c.j();l.k();){for(var _=l.l(),v=_.b1(),g=ui(lu(v,10)),d=v.j();d.k();){var w=Uf(d.l(),null,!0);g.h(w)}var b,m=Vn(g),p=Un(_.b1()),k=Vf(p,new uo(Wf(Qf(p)).be()),_.b1().o());n:{for(var y=t.j();y.k();){var q=y.l();if($f(q.jf_1,p.problemId)){b=q;break n}}b=null}var j=b;null==j||m.h(Df(j.kf_1));var B=new zf(k,m);h.h(B)}var C=h;return new pf(new zf(new cs("message tree root"),C))}(t,v),d=function(n,t){ss();for(var r=function(){ss();var n=ei();return new Rf(new zf(new hs(Q.vd("Ungrouped"),!0),n),n,Ui())}(),i=Ui(),e=0,u=n.length;e<u;){var o=n[e];e=e+1|0;for(var a=Wn(Dn(o.problemId,1)),f=ui(lu(a,10)),s=a.j();s.k();){var c=s.l(),h=new Mf(c.name,c.displayName);f.h(h)}var l=Hf(i,f),_=Uf(o);null==l?r.mf_1.h(_):l.mf_1.h(_)}for(var v=ui(lu(t,10)),g=t.j();g.k();){var d=g.l(),w=new Nf(Wn(Yn(d.jf_1,1)),d.kf_1);v.h(w)}for(var b=Ui(),m=v.j();m.k();){var p,k=m.l(),y=k.jf_1,q=b.e1(y);if(null==q){var j=ei();b.b3(y,j),p=j}else p=q;p.h(k)}for(var B=b.s(),C=ui(lu(B,10)),x=B.j();x.k();){for(var P=x.l(),S=P.a1(),I=0,z=P.b1().j();z.k();)I=I+z.l().kf_1|0;var T=new Nf(S,I);C.h(T)}for(var L=C.j();L.k();){var E=L.l(),M=Hf(i,E.jf_1),N=null==M?null:M.mf_1;null==N||N.h(Df(E.kf_1))}for(var A=i.f1(),F=ui(lu(A,10)),D=A.j();D.k();){var O=D.l().lf_1;F.h(O)}var R=function(n,t){var r=ui(n.o()+1|0);return r.q(n),r.h(t),r}(F,r.lf_1);return new pf(new zf(new cs("group tree root"),R))}(t,v),w=0,b=v.j();b.k();)w=w+b.l().kf_1|0;for(var m=Af(t,w,(ss(),_n)),p=0,y=v.j();y.k();)p=p+y.l().kf_1|0;for(var q=Af(t,p,(ss(),vn)),j=0,B=v.j();B.k();)j=j+B.l().kf_1|0;var C=Af(t,j,(ss(),gn));return new ps(Q.vd("Problems Report"),function(n,t){ss();var r,i,e,u=n.description,o=null==u?null:$r(xa(u));return r=null==o?$r(Q.ud((i=t,e=n,function(n){n.id(i.length+" problems have been reported during the execution");var t=e.buildName;null==t||(n.id(" of build "),n.jd(t));var r=e.requestedTasks;return null==r||(n.id(" for the following tasks:"),n.jd(r)),k}))):o,r}(n,t),new za("reporting problems",n.documentationLink),g,d,m,q,C,t.length,function(n,t,r,i,e){return ss(),Po(r)>0?os():Po(n)>0?es():Po(t)>0?us():Po(i)>0?as():Po(e)>0?fs():es()}(g,d,m,q,C))}(t,n.diagnostics))}}(),n}(void 0===globalThis["org.gradle.buildtool.internal:configuration-cache-report"]?{}:globalThis["org.gradle.buildtool.internal:configuration-cache-report"]),{};var n,t});
+//# sourceMappingURL=configuration-cache-report.js.map
+                </script>
+
+</body>
+</html>
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644 (file)
index 0000000..61285a6
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
new file mode 100644 (file)
index 0000000..19a6bde
--- /dev/null
@@ -0,0 +1,7 @@
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip
+networkTimeout=10000
+validateDistributionUrl=true
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/gradlew b/gradlew
new file mode 100644 (file)
index 0000000..adff685
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+#
+# Copyright © 2015 the original authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+#
+
+##############################################################################
+#
+#   Gradle start up script for POSIX generated by Gradle.
+#
+#   Important for running:
+#
+#   (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
+#       noncompliant, but you have some other compliant shell such as ksh or
+#       bash, then to run this script, type that shell name before the whole
+#       command line, like:
+#
+#           ksh Gradle
+#
+#       Busybox and similar reduced shells will NOT work, because this script
+#       requires all of these POSIX shell features:
+#         * functions;
+#         * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
+#           «${var#prefix}», «${var%suffix}», and «$( cmd )»;
+#         * compound commands having a testable exit status, especially «case»;
+#         * various built-in commands including «command», «set», and «ulimit».
+#
+#   Important for patching:
+#
+#   (2) This script targets any POSIX shell, so it avoids extensions provided
+#       by Bash, Ksh, etc; in particular arrays are avoided.
+#
+#       The "traditional" practice of packing multiple parameters into a
+#       space-separated string is a well documented source of bugs and security
+#       problems, so this is (mostly) avoided, by progressively accumulating
+#       options in "$@", and eventually passing that to Java.
+#
+#       Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
+#       and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
+#       see the in-line comments for details.
+#
+#       There are tweaks for specific operating systems such as AIX, CygWin,
+#       Darwin, MinGW, and NonStop.
+#
+#   (3) This script is generated from the Groovy template
+#       https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+#       within the Gradle project.
+#
+#       You can find Gradle at https://github.com/gradle/gradle/.
+#
+##############################################################################
+
+# Attempt to set APP_HOME
+
+# Resolve links: $0 may be a link
+app_path=$0
+
+# Need this for daisy-chained symlinks.
+while
+    APP_HOME=${app_path%"${app_path##*/}"}  # leaves a trailing /; empty if no leading path
+    [ -h "$app_path" ]
+do
+    ls=$( ls -ld "$app_path" )
+    link=${ls#*' -> '}
+    case $link in             #(
+      /*)   app_path=$link ;; #(
+      *)    app_path=$APP_HOME$link ;;
+    esac
+done
+
+# This is normally unused
+# shellcheck disable=SC2034
+APP_BASE_NAME=${0##*/}
+# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD=maximum
+
+warn () {
+    echo "$*"
+} >&2
+
+die () {
+    echo
+    echo "$*"
+    echo
+    exit 1
+} >&2
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$( uname )" in                #(
+  CYGWIN* )         cygwin=true  ;; #(
+  Darwin* )         darwin=true  ;; #(
+  MSYS* | MINGW* )  msys=true    ;; #(
+  NONSTOP* )        nonstop=true ;;
+esac
+
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+        # IBM's JDK on AIX uses strange locations for the executables
+        JAVACMD=$JAVA_HOME/jre/sh/java
+    else
+        JAVACMD=$JAVA_HOME/bin/java
+    fi
+    if [ ! -x "$JAVACMD" ] ; then
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+else
+    JAVACMD=java
+    if ! command -v java >/dev/null 2>&1
+    then
+        die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+    fi
+fi
+
+# Increase the maximum file descriptors if we can.
+if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
+    case $MAX_FD in #(
+      max*)
+        # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        MAX_FD=$( ulimit -H -n ) ||
+            warn "Could not query maximum file descriptor limit"
+    esac
+    case $MAX_FD in  #(
+      '' | soft) :;; #(
+      *)
+        # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+        # shellcheck disable=SC2039,SC3045
+        ulimit -n "$MAX_FD" ||
+            warn "Could not set maximum file descriptor limit to $MAX_FD"
+    esac
+fi
+
+# Collect all arguments for the java command, stacking in reverse order:
+#   * args from the command line
+#   * the main class name
+#   * -classpath
+#   * -D...appname settings
+#   * --module-path (only if needed)
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if "$cygwin" || "$msys" ; then
+    APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
+
+    JAVACMD=$( cygpath --unix "$JAVACMD" )
+
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
+    for arg do
+        if
+            case $arg in                                #(
+              -*)   false ;;                            # don't mess with options #(
+              /?*)  t=${arg#/} t=/${t%%/*}              # looks like a POSIX filepath
+                    [ -e "$t" ] ;;                      #(
+              *)    false ;;
+            esac
+        then
+            arg=$( cygpath --path --ignore --mixed "$arg" )
+        fi
+        # Roll the args list around exactly as many times as the number of
+        # args, so each arg winds up back in the position where it started, but
+        # possibly modified.
+        #
+        # NB: a `for` loop captures its iteration list before it begins, so
+        # changing the positional parameters here affects neither the number of
+        # iterations, nor the values presented in `arg`.
+        shift                   # remove old arg
+        set -- "$@" "$arg"      # push replacement arg
+    done
+fi
+
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Collect all arguments for the java command:
+#   * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+#     and any embedded shellness will be escaped.
+#   * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
+#     treated as '${Hostname}' itself on the command line.
+
+set -- \
+        "-Dorg.gradle.appname=$APP_BASE_NAME" \
+        -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
+        "$@"
+
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+    die "xargs is not available"
+fi
+
+# Use "xargs" to parse quoted args.
+#
+# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
+#
+# In Bash we could simply go:
+#
+#   readarray ARGS < <( xargs -n1 <<<"$var" ) &&
+#   set -- "${ARGS[@]}" "$@"
+#
+# but POSIX shell has neither arrays nor command substitution, so instead we
+# post-process each arg (as a line of input to sed) to backslash-escape any
+# character that might be a shell metacharacter, then use eval to reverse
+# that process (while maintaining the separation between arguments), and wrap
+# the whole thing up as a single "set" statement.
+#
+# This will of course break if any of these variables contains a newline or
+# an unmatched quote.
+#
+
+eval "set -- $(
+        printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
+        xargs -n1 |
+        sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
+        tr '\n' ' '
+    )" '"$@"'
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644 (file)
index 0000000..c4bdd3a
--- /dev/null
@@ -0,0 +1,93 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem      https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+@rem SPDX-License-Identifier: Apache-2.0
+@rem
+
+@if "%DEBUG%"=="" @echo off
+@rem ##########################################################################
+@rem
+@rem  Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if %ERRORLEVEL% equ 0 goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo. 1>&2
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
+echo. 1>&2
+echo Please set the JAVA_HOME variable in your environment to match the 1>&2
+echo location of your Java installation. 1>&2
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if %ERRORLEVEL% equ 0 goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/local.properties b/local.properties
new file mode 100644 (file)
index 0000000..2757623
--- /dev/null
@@ -0,0 +1,8 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Wed Aug 26 11:54:54 KST 2026
+sdk.dir=C\:\\Users\\hmog_ara_PC\\AppData\\Local\\Android\\Sdk
diff --git a/settings.gradle.kts b/settings.gradle.kts
new file mode 100644 (file)
index 0000000..d5e080a
--- /dev/null
@@ -0,0 +1,4 @@
+pluginManagement { repositories { google(); mavenCentral(); gradlePluginPortal() } }
+dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS); repositories { google(); mavenCentral() } }
+rootProject.name = "NaverKakaoNavigator"
+include(":app")